public class SymbolTable
extends java.lang.Object
ProtocolParser
während des Parsens aufgebaut.Modifier and Type | Field and Description |
---|---|
protected boolean |
_pseudoObjectDefinitionInitialized
Prüft, ob es schon eine Pseudoobjekt-Definition gibt.
|
Constructor and Description |
---|
SymbolTable(DataModel model,
ProcessingParameter pp)
Erzeugen der Symboltabelle
|
Modifier and Type | Method and Description |
---|---|
void |
addAggregationDefinition(antlr.Token t,
java.lang.String aggregationName,
java.lang.String className)
Fügt die Definition einer Aggregationsfunktion in die Symboltabelle ein
|
void |
addAliasDefinition(antlr.Token token,
java.lang.String name,
java.lang.String obj)
Fügt eine Alias-Definition in die Symboltabelle ein
|
void |
addDurationAttribute(java.lang.String columnName)
Zeitdauer Attribut hinzufügen.
|
void |
addPseudoObjectDefinition(antlr.Token token,
java.util.List<java.lang.String> aliasList,
java.util.List<java.lang.String> objectList)
Fügt eine Pseudoobjekt-Definition zur Symboltabelle hinzu.
|
void |
addStandardBinding(java.lang.String placeholder,
java.lang.String aspectName)
Fügt eine Bindung eines Aspekts in die Symboltabelle ein, falls es für den angegebenen Platzhalter noch keine Bindung gibt.
|
void |
addStandardObject(SystemObject so)
Fügt ein Objekt hinzu, für das das Protokoll erstellt werden soll.
|
void |
addStandardPeriod(java.lang.String startDate,
java.lang.String startTime,
java.lang.String endDate,
java.lang.String endTime)
Stellt den Standard Anfragebereich ein, sofern der Benutzer keinen angegeben hat.
|
void |
addTempAttribute(java.lang.String name,
java.lang.String columnName)
Fügt ein temporäres Attribut in die Symboltabelle ein (Aus Bereich 'Spalte').
|
java.lang.String |
getAlias(java.lang.String name)
Gibt den Alias mit diesem Namen zurück
|
java.lang.String[] |
getAliasObjects(java.lang.String alias)
Liefert die dem Alias zugeordneten Objekt-PIDs zurück
|
java.lang.String |
getBinding(java.lang.String placeholder)
Liefert gebundenen Aspekt zurück
|
java.lang.Boolean |
getDeltaProtocol()
Gibt gewünschten Protokolltyp zurück, der von der Protokollerstellungs-Anfrage kommt.
|
SystemObject |
getMainObject() |
SystemObject |
getObject(SystemObjectType sot)
Gibt das Objekt zurück, durch das der übergebene Typ ersetzt werden soll.
|
TempAttributeDescription |
getOrCreateTempAttributeDefinition(java.lang.String name) |
java.util.List<java.lang.String> |
getPossibleAspectBindings()
Gibt alle im Skript definierten ungebundenen oder gebundenen Aspekte zurück.
|
TempAttributeDescription |
getTempAttributeDefinition(java.lang.String name) |
java.util.List<TempAttributeDescription> |
getTempAttributes() |
boolean |
isAlias(java.lang.String name)
Überprüft, ob es einen Alias diesen Namens gibt.
|
boolean |
isTempAttributeDefined(java.lang.String name) |
void |
setCheck(MemberCheck check)
Festlegen welches Objekt die Typüberprüfungen durchführt.
|
protected boolean _pseudoObjectDefinitionInitialized
public SymbolTable(DataModel model, ProcessingParameter pp) throws CriticalParserException
model
- Datenmodellpp
- Eingabeparameter vom Auftraggeber, null
wenn das Skript nur Interpretiert (auf güligkeit geprüft) aber nicht ausgeführt werden sollCriticalParserException
- Falls es zu einem Kommunikationsfehler kommtpublic void setCheck(MemberCheck check)
check
- Objekt das die Typüberprüfungen durchführen soll.public void addStandardObject(SystemObject so) throws CriticalParserException
so
- Objekt das Hinzugefügt werden sollCriticalParserException
- Falls es zu einem Kommuniktaionsfehler kommtpublic SystemObject getObject(SystemObjectType sot)
sot
- Objekttyp, für den ein Objekt zurückgeliefert werden soll.public SystemObject getMainObject()
public void addAliasDefinition(antlr.Token token, java.lang.String name, java.lang.String obj) throws CriticalParserException
token
- Token. Wird für die Fehlerausgabe verwendet.name
- Name des Aliasobj
- Referenzierter ObjekttypCriticalParserException
- Falls der Alias bereits definiert wurde oder die Definition fehlerhaft ist.public java.lang.String[] getAliasObjects(java.lang.String alias) throws SemanticErrorException
alias
- Name des AliasSemanticErrorException
- Falls dem Alias keine Objekte zugeordnet wurden oder es kein Alias ist.public void addTempAttribute(java.lang.String name, java.lang.String columnName) throws SemanticErrorException
name
- Name des temporären AttributscolumnName
- SpaltennameSemanticErrorException
- Der Name des temporären Attributs entspricht DurationAttributeDescription.DURATION
public boolean isTempAttributeDefined(java.lang.String name)
public TempAttributeDescription getTempAttributeDefinition(java.lang.String name)
public TempAttributeDescription getOrCreateTempAttributeDefinition(java.lang.String name)
public java.util.List<TempAttributeDescription> getTempAttributes()
public void addPseudoObjectDefinition(antlr.Token token, java.util.List<java.lang.String> aliasList, java.util.List<java.lang.String> objectList) throws CriticalParserException
token
- Token (nur für die Angabe von Zeilennummern in den Fehlermeldungen)aliasList
- Liste mit AliasenobjectList
- Liste der Objekte, die einem Alias zugeordnet sind. (enthält ""-Werte für Platzhalter)CriticalParserException
- Bei Kommunikationsfehler oder falls in der Pseudoobjektdefinition ungültige Pids verwendet werdenpublic void addStandardBinding(java.lang.String placeholder, java.lang.String aspectName)
placeholder
- Platzhalter des Aspekts (z.B. '?1')aspectName
- Name des Aspektspublic java.lang.String getBinding(java.lang.String placeholder)
placeholder
- Platzhalter des Aspektspublic void addAggregationDefinition(antlr.Token t, java.lang.String aggregationName, java.lang.String className) throws SemanticErrorException
t
- Token: Für Zeilenangabe im Fehler.aggregationName
- Name der AggregationclassName
- Klassenname der AggregationSemanticErrorException
- Falls ein ungültiger Klassenname angegeben wurdepublic void addStandardPeriod(java.lang.String startDate, java.lang.String startTime, java.lang.String endDate, java.lang.String endTime) throws SemanticErrorException
startDate
- StartdatumstartTime
- StartzeitendDate
- EnddatumendTime
- Ende des ZeitraumsSemanticErrorException
- Falls es sich um einen fehlerhaften Zeitbereich handeltpublic boolean isAlias(java.lang.String name)
name
- Name des Aliaspublic java.lang.String getAlias(java.lang.String name)
name
- Name des Aliaspublic void addDurationAttribute(java.lang.String columnName)
columnName
- Spaltenname des Zeitdauer Attributs.public java.lang.Boolean getDeltaProtocol()
public java.util.List<java.lang.String> getPossibleAspectBindings()