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 void
addAggregation(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.void
addAggregationForDuration(antlr.collections.AST ast, java.util.List<java.lang.String> aggregationName)
Fügt dem Zeitdauer Attribut eine Aggregation hinzu.void
cleanUp(ProcessingParameter pp, boolean processScript)
Überprüft, ob Aggregationen verwendet werden, falls das Schlüsselwort 'anwendung' im Skript verwendet wird.void
setOrder(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 CriticalParserException
Fügt einem Attribut eine Aggregation hinzu.- Parameters:
ast
- Knoten (wird nur für Zeilenangabe in der Fehlermeldung benötigt)attributeQualifier
- AttributeQualifieraggregations
- AggregationspadData
-true
falls 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 CriticalParserException
Fü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:
cleanUp
in 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)
-
-