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.DURATIONpublic 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()