de.bsvrz.pua.prot.interpreter.semantics
Class AggregationSemantics

java.lang.Object
  extended by 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.

Version:
$Revision: 1.1 $ / $Date: 2008/01/22 16:38:04 $ / ($Author: yvonnes $)
Author:
beck et al. projects GmbH, Martin Hilgers

Constructor Summary
AggregationSemantics(Semantics semantics, SymbolTable symbolTable, AttributeSemantics attributeSemantics, RealAttributeSemantics realAttributeSemantics)
          Konstruktor
 
Method Summary
 void addAggregation(AST ast, java.util.List<java.lang.String> parts, boolean padData)
          Fügt einem Attribut eine Aggregation hinzu.
 void addAggregationForDuration(AST ast, java.util.List<java.lang.String> aggregationName)
          Fügt dem Zeitdauer Attribut eine Aggregation hinzu.
 void addAggregationMaximum(AST ast, java.util.ArrayList<java.lang.String> parts, boolean padData)
          Fügt die Aggregation Maximum für ein Attribut hinzu.
 void addAggregationMaximumForDuration(AST ast)
          Fügt dem Zeitdauer Attribut die Aggregation Maximum hinzu.
 void addAggregationMinimum(AST ast, java.util.ArrayList<java.lang.String> parts, boolean padData)
          Fügt die Aggregation Minimum für ein Attribut hinzu.
 void addAggregationMinimumForDuration(AST ast)
          Fügt dem Zeitdauer Attribut die Aggregation Minimum hinzu.
 void addAggregationMittelwert(AST ast, java.util.ArrayList<java.lang.String> parts, boolean padData)
          Fügt die Aggregation Mittelwert für ein Attribut hinzu.
 void addAggregationMittelwertForDuration(AST ast)
          Fügt dem Zeitdauer Attribut die Aggregation Mittelwert hinzu.
 void addAggregationSumme(AST ast, java.util.ArrayList<java.lang.String> parts, boolean padData)
          Fügt die Aggregation Summe für ein Attribut hinzu.
 void addAggregationSummeForDuration(AST ast)
          Fügt dem Zeitdauer Attribut die Aggregation Summe 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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(AST ast,
                           java.util.List<java.lang.String> parts,
                           boolean padData)
                    throws CriticalParserException
Fügt einem Attribut eine Aggregation hinzu.

Parameters:
ast - Knoten (wird nur für Zeilenangabe in der Fehlermeldung benötigt)
parts - Qualifizierung des zu aggregierenden Attributs und Name des Funktion (als letztes Listenelement)
padData - 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(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

addAggregationMaximum

public void addAggregationMaximum(AST ast,
                                  java.util.ArrayList<java.lang.String> parts,
                                  boolean padData)
                           throws CriticalParserException
Fügt die Aggregation Maximum für ein Attribut hinzu.

Parameters:
ast - Knoten (wird nur für Zeilenangabe in der Fehlermeldung benötigt)
parts - Qualifizierung des zu aggregierenden Attributs
padData - true falls Daten durch die Datenaufbereitung aufgefüllt werden sollen.
Throws:
CriticalParserException - Falls es zu einem Kommuniktaionsfehler kommt oder die Qualifizierung nicht korrekt ist

addAggregationMaximumForDuration

public void addAggregationMaximumForDuration(AST ast)
                                      throws CriticalParserException
Fügt dem Zeitdauer Attribut die Aggregation Maximum hinzu.

Parameters:
ast - Knoten (wird nur für die Zeilenangabe in der Fehlermeldung benötigt)
Throws:
CriticalParserException - Kommunikationsfehler

addAggregationMinimum

public void addAggregationMinimum(AST ast,
                                  java.util.ArrayList<java.lang.String> parts,
                                  boolean padData)
                           throws CriticalParserException
Fügt die Aggregation Minimum für ein Attribut hinzu.

Parameters:
ast - Knoten (wird nur für Zeilenangabe in der Fehlermeldung benötigt)
parts - Qualifizierung des zu aggregierenden Attributs
padData - true falls Daten durch die Datenaufbereitung aufgefüllt werden sollen.
Throws:
CriticalParserException - Falls es zu einem Kommunikationsfehler kommt oder Qualifizierung nicht korrekt ist

addAggregationMinimumForDuration

public void addAggregationMinimumForDuration(AST ast)
                                      throws CriticalParserException
Fügt dem Zeitdauer Attribut die Aggregation Minimum hinzu.

Parameters:
ast - Knoten (wird nur für die Zeilenangabe in der Fehlermeldung benötigt)
Throws:
CriticalParserException - Kommunikationsfehler

addAggregationMittelwert

public void addAggregationMittelwert(AST ast,
                                     java.util.ArrayList<java.lang.String> parts,
                                     boolean padData)
                              throws CriticalParserException
Fügt die Aggregation Mittelwert für ein Attribut hinzu.

Parameters:
ast - Knoten (wird nur für Zeilenangabe in der Fehlermeldung benötigt)
parts - Qualifizierung des zu aggregierenden Attributs
padData - true falls Daten durch die Datenaufbereitung aufgefüllt werden sollen.
Throws:
CriticalParserException - Falls die Qualifizierung nicht korrekt ist oder es zu einem Kommuniktaionsfehler kommt

addAggregationMittelwertForDuration

public void addAggregationMittelwertForDuration(AST ast)
                                         throws CriticalParserException
Fügt dem Zeitdauer Attribut die Aggregation Mittelwert hinzu.

Parameters:
ast - Knoten (wird nur für die Zeilenangabe in der Fehlermeldung benötigt)
Throws:
CriticalParserException - Kommunikationsfehler

addAggregationSumme

public void addAggregationSumme(AST ast,
                                java.util.ArrayList<java.lang.String> parts,
                                boolean padData)
                         throws CriticalParserException
Fügt die Aggregation Summe für ein Attribut hinzu.

Parameters:
ast - Knoten (wird nur für Zeilenangabe in der Fehlermeldung benötigt)
parts - Qualifizierung des zu aggregierenden Attributs
padData - true falls Daten durch die Datenaufbereitung aufgefüllt werden sollen.
Throws:
CriticalParserException - Falls es zu einem Kommunikationsfehler kommt oder die Qualifizierung nicht korrekt ist

addAggregationSummeForDuration

public void addAggregationSummeForDuration(AST ast)
                                    throws CriticalParserException
Fügt dem Zeitdauer Attribut die Aggregation Summe hinzu.

Parameters:
ast - Knoten (wird nur für die Zeilenangabe in der Fehlermeldung benötigt)
Throws:
CriticalParserException - Kommunikationsfehler

setOrder

public void setOrder(java.util.HashSet<ProcessingInformation.ApplyAggregation> order)
              throws SemanticErrorException
Legt die Anwendungsart der Aggregationen fest

Parameters:
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 interface SemanticChecks
Parameters:
pp - Auftragsparameter
processScript - 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)


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.