Class MiscellaneousSemantics
- java.lang.Object
-
- de.bsvrz.pua.prot.interpreter.semantics.MiscellaneousSemantics
-
- All Implemented Interfaces:
SemanticChecks
public class MiscellaneousSemantics extends java.lang.Object implements SemanticChecks
Diverse Semantiküberprüfungen.
-
-
Constructor Summary
Constructors Constructor Description MiscellaneousSemantics(Semantics semantics)
-
Method Summary
Modifier and Type Method Description voidaddDurationAttribute()Fügt das Zeitdauer-Attribut in die Liste der im Spaltenbereich definierten Attribute ein.voidaddStandardObjects(antlr.Token token, java.util.List<java.lang.String> pidList)Fügt Objekte, für die das Protokoll erstellt werden soll, hinzu.voidcheck(antlr.Token token, boolean[] field, int index)Überprüft ob ein Bereich bereits definiert wurde oder ob bestimmte Schlüsselwörter mehrmals verwendet weden.voidcleanUp(ProcessingParameter pp, boolean processScript)Abschließende Semantiküberprüfung.java.lang.StringgetBinding(java.lang.String placeholder)Liefert den zuplaceholderpassenden, gebundenen Aspekt (als Aspekt-Pid) zurückvoidsetConstraint(ExpressionTree expression, boolean merge)Setzt die 'Einschränkung'sanweisungvoidsetNoChangeMarker(de.bsvrz.sys.funclib.losb.datk.NoChangeMarker noChangeMarker)Setzt die Übertragungsart von "Keine Änderungen"-DatensätzenvoidsetPostFilter(antlr.collections.AST ast, java.lang.String postFilter)Legt den Nachfilter festvoidsetProtocolType(de.bsvrz.sys.funclib.losb.datk.ProtocolType type)Setzt den Typ des Protokolls
-
-
-
Constructor Detail
-
MiscellaneousSemantics
public MiscellaneousSemantics(Semantics semantics)
- Parameters:
semantics- Semantics
-
-
Method Detail
-
addDurationAttribute
public void addDurationAttribute()
Fügt das Zeitdauer-Attribut in die Liste der im Spaltenbereich definierten Attribute ein.
-
addStandardObjects
public void addStandardObjects(antlr.Token token, java.util.List<java.lang.String> pidList) throws CriticalParserExceptionFügt Objekte, für die das Protokoll erstellt werden soll, hinzu. Enthält die Liste nur ein Element, so handelt es sich dabei um ein Objekt, das hinzugefügt werden soll. Enthält pidList mehr als ein Element, so handelt es sich bei dem ersten Element um ein Objekt, und bei den übrigen Elementen um Mengen, wobei jede Menge immer die nachfolgende Menge enthält. Die Objekte der letzten Menge werden hinzugefügt.- Parameters:
token- Token (Nur für die Zeilenangabe bei den Fehlermeldungen nötig)pidList- Liste des Objektes und der Mengen.- Throws:
CriticalParserException- Falls es zu einem Fehler kommt
-
check
public void check(antlr.Token token, boolean[] field, int index) throws SemanticErrorExceptionÜberprüft ob ein Bereich bereits definiert wurde oder ob bestimmte Schlüsselwörter mehrmals verwendet weden.- Parameters:
token- Token (Nur für die Zeilenangabe bei den fehlermeldungen nötig)field- Bereich, der überprüft werden sollindex- Index, der überprüft wird- Throws:
SemanticErrorException- Falls Bereiche oder bestimmte Schlüsselwörter mehrfach verwendet werden.
-
getBinding
public java.lang.String getBinding(java.lang.String placeholder)
Liefert den zuplaceholderpassenden, gebundenen Aspekt (als Aspekt-Pid) zurück- Parameters:
placeholder- Platzhalter des Aspekts- Returns:
- Aspekt, der an den Platzhalter gebunden ist. Falls keine Bindung existiert, wird der Platzhalter zurückgegeben.
-
setConstraint
public void setConstraint(ExpressionTree expression, boolean merge)
Setzt die 'Einschränkung'sanweisung- Parameters:
expression- Ausdruckmerge- True falls verschmolzen werden soll, sonst false
-
setPostFilter
public void setPostFilter(antlr.collections.AST ast, java.lang.String postFilter) throws SemanticErrorExceptionLegt den Nachfilter fest- Parameters:
ast- Knoten (wird nur für Zeilenangabe in der Fehlermeldung benötigt)postFilter- Klassenname des nachfilters- Throws:
SemanticErrorException- Falls es zu einem Fehler kommt, z.B. weil die Nachfilterklasse nicht existiert.
-
setProtocolType
public void setProtocolType(de.bsvrz.sys.funclib.losb.datk.ProtocolType type)
Setzt den Typ des Protokolls- Parameters:
type- True für Änderungs-, false für ein Statusprotokoll
-
setNoChangeMarker
public void setNoChangeMarker(de.bsvrz.sys.funclib.losb.datk.NoChangeMarker noChangeMarker)
Setzt die Übertragungsart von "Keine Änderungen"-Datensätzen- Parameters:
noChangeMarker- Übertragungsart von "Keine Änderungen"-Datensätzen
-
cleanUp
public void cleanUp(ProcessingParameter pp, boolean processScript) throws SemanticErrorException
Abschließende Semantiküberprüfung. Stellt sicher, dass Bindungen zu allen freien Aspekten existieren. (Nur, falls processScript == true)- Specified by:
cleanUpin interfaceSemanticChecks- Parameters:
pp- Wird nicht berücksichtigt.processScript- True falls die Daten vollständig zur Datenaufbereitung sein müssen.- Throws:
SemanticErrorException- Es gibt noch ungebundene Aspekte.
-
-