Class AggregationSemantics
- java.lang.Object
-
- de.bsvrz.pua.prot.interpreter.semantics.AggregationSemantics
-
- All Implemented Interfaces:
SemanticChecks
public class AggregationSemantics extends java.lang.Object implements SemanticChecks
Überprüft die Semantik von Aggregationen.
-
-
Constructor Summary
Constructors Constructor Description AggregationSemantics(Semantics semantics, SymbolTable symbolTable, AttributeSemantics attributeSemantics, RealAttributeSemantics realAttributeSemantics)Konstruktor
-
Method Summary
Modifier and Type Method Description voidaddAggregation(antlr.collections.AST ast, java.util.List<java.lang.String> attributeQualifier, java.util.List<java.lang.String> aggregations, boolean padData)Fügt einem Attribut eine Aggregation hinzu.voidaddAggregationForDuration(antlr.collections.AST ast, java.util.List<java.lang.String> aggregationName)Fügt dem Zeitdauer Attribut eine Aggregation hinzu.voidcleanUp(ProcessingParameter pp, boolean processScript)Überprüft, ob Aggregationen verwendet werden, falls das Schlüsselwort 'anwendung' im Skript verwendet wird.voidsetOrder(java.util.HashSet<ProcessingInformation.ApplyAggregation> order)Legt die Anwendungsart der Aggregationen fest
-
-
-
Constructor Detail
-
AggregationSemantics
public AggregationSemantics(Semantics semantics, SymbolTable symbolTable, AttributeSemantics attributeSemantics, RealAttributeSemantics realAttributeSemantics)
Konstruktor- Parameters:
semantics- Hauptobjekt der Semantiküberprüfung.symbolTable- Symboltabelle.attributeSemantics- Semantiküberprüfung für die Attribute.realAttributeSemantics- Semantiküberprüfung für reale Attribute.
-
-
Method Detail
-
addAggregation
public void addAggregation(antlr.collections.AST ast, java.util.List<java.lang.String> attributeQualifier, java.util.List<java.lang.String> aggregations, boolean padData) throws CriticalParserExceptionFügt einem Attribut eine Aggregation hinzu.- Parameters:
ast- Knoten (wird nur für Zeilenangabe in der Fehlermeldung benötigt)attributeQualifier- AttributeQualifieraggregations- AggregationspadData-truefalls Daten durch die Datenaufbereitung aufgefüllt werden sollen.- Throws:
CriticalParserException- Kommunikationsfehler oder falls die Qualifizierung nicht korrekt ist oder falls die angegebene Aggregationsfunktion nicht existiert
-
addAggregationForDuration
public void addAggregationForDuration(antlr.collections.AST ast, java.util.List<java.lang.String> aggregationName) throws CriticalParserExceptionFügt dem Zeitdauer Attribut eine Aggregation hinzu.- Parameters:
ast- Knoten (wird nur für die Zeilenangabe in der Fehlermeldung benötigt)aggregationName- Einelementige Liste mit dem Namen der Aggregation- Throws:
CriticalParserException- Kommunikationsfehler
-
setOrder
public void setOrder(java.util.HashSet<ProcessingInformation.ApplyAggregation> order) throws SemanticErrorException
Legt die Anwendungsart der Aggregationen fest- Parameters:
order- Order- Throws:
SemanticErrorException- Falls Wiederholungen in der anwendung auftreten (etwa weil gleichzeitig sowohl gesamt(objekt) als auch gesamt(spalte) verwendet wurde)
-
cleanUp
public void cleanUp(ProcessingParameter pp, boolean processScript) throws SemanticErrorException
Überprüft, ob Aggregationen verwendet werden, falls das Schlüsselwort 'anwendung' im Skript verwendet wird.- Specified by:
cleanUpin interfaceSemanticChecks- Parameters:
pp- AuftragsparameterprocessScript- Fals true, dann müssen die Daten bereit für die Datenaufbereitung sein.- Throws:
SemanticErrorException- Fehler bei der semantischen Überprüfung.- See Also:
SemanticChecks.cleanUp(de.bsvrz.pua.prot.util.ProcessingParameter,boolean)
-
-