|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.pua.prot.interpreter.semantics.SymbolTable
public class SymbolTable
Symboltabelle.
Die Symboltabelle wird von ProtocolParser
während des Parsens aufgebaut.
Standardwerte aus dem Skript (aus dem Bereich Standards) werden nur übernommen, wenn sie keine Eingabeparameter des
Benutzers überschreiben.
Constructor Summary | |
---|---|
SymbolTable(DataModel model,
ProcessingParameter pp)
Erzeugen der Symboltabelle |
Method Summary | |
---|---|
void |
addAggregationDefinition(Token t,
java.lang.String aggregationName,
java.lang.String className)
Fügt die Definition einer Aggregationsfunktion in die Symboltabelle ein |
void |
addAliasDefinition(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(Token token,
java.util.List<java.lang.String> aliasList,
java.util.List<java.lang.String> objectList)
Fügt eine Pseudoobjekt-Definition zur Symboltabelle hinzu. Erlaubt die teiweise Übernahme einer Pseudoobjektdefinition: Falls einem Alias schon eine PID-Liste zugeordnet ist, dann wird nur dieser Alias übersprungen, die übrigen werden aber eingefügt. |
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[] |
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 |
SystemObject |
getObject(SystemObjectType sot)
Gibt das Objekt zurück, durch das der übergebene Typ ersetzt werden soll. |
boolean |
isAlias(java.lang.String name)
Überprüft, ob es einen Alias diesen Namens gibt. |
void |
setCheck(MemberCheck check)
Festlegen welches Objekt die Typüberprüfungen durchführt. |
void |
setProtocolType(boolean delta)
Legt den Typ des Protokolls fest, falls das nicht durch Eingabeparameter des Auftraggebers festgelegt wurde. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SymbolTable(DataModel model, ProcessingParameter pp) throws CriticalParserException
model
- Datenmodellpp
- Eingabeparameter vom Auftraggeber
CriticalParserException
- Falls es zu einem Kommunikationsfehler kommtMethod Detail |
---|
public 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 soll
CriticalParserException
- Falls es zu einem Kommuniktaionsfehler kommtpublic SystemObject getObject(SystemObjectType sot)
sot
- Objekttyp, für den ein Objekt zurückgeliefert werden soll.
public void addAliasDefinition(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 Objekttyp
CriticalParserException
- 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 Alias
SemanticErrorException
- 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
- Spaltenname
SemanticErrorException
- Der Name des temporären Attributs entspricht
DurationAttributeDescription.DURATION
public void addPseudoObjectDefinition(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.
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 Aspekts
public void addAggregationDefinition(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 Aggregation
SemanticErrorException
- 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 Zeitraums
SemanticErrorException
- Falls es sich um einen fehlerhaften Zeitbereich handeltpublic void setProtocolType(boolean delta)
delta
- True, falls ein Änderungsprotokoll erstellt werden soll. False für ein Zustandsprotokoll.public boolean isAlias(java.lang.String name)
name
- Name des Alias
public void addDurationAttribute(java.lang.String columnName)
columnName
- Spaltenname des Zeitdauer Attributs.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |