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

java.lang.Object
  extended by de.bsvrz.pua.prot.interpreter.semantics.MiscellaneousSemantics
All Implemented Interfaces:
SemanticChecks

public class MiscellaneousSemantics
extends java.lang.Object
implements SemanticChecks

Diverse Semantiküberprüfungen.

Version:
$Revision: 1.2 $ / $Date: 2008/01/22 16:55:50 $ / ($Author: yvonnes $)
Author:
beck et al. projects GmbH, Martin Hilgers

Constructor Summary
MiscellaneousSemantics(Semantics semantics)
           
 
Method Summary
 void addDurationAttribute()
          Fügt das Zeitdauer-Attribut in die Liste der im Spaltenbereich definierten Attribute ein.
 void addStandardObjects(Token token, java.util.List<java.lang.String> pidList)
          Fügt Objekte, für die das Protokoll erstellt werden soll, hinzu.
 void check(Token token, boolean[] field, int index)
          Überprüft ob ein Bereich bereits definiert wurde oder ob bestimmte Schlüsselwörter mehrmals verwendet weden.
 void cleanUp(ProcessingParameter pp, boolean processScript)
          Abschließende Semantiküberprüfung.
 java.lang.String getBinding(java.lang.String placeholder)
          Liefert den zu placeholder passenden, gebundenen Aspekt (als Aspekt-Pid) zurück
 void setConstraint(ExpressionTree expression, boolean merge)
          Setzt die 'Einschränkung'sanweisung
 void setPostFilter(AST ast, java.lang.String postFilter)
          Legt den Nachfilter fest
 void setProtocolType(boolean type)
          Setzt den Typ des Protokolls
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MiscellaneousSemantics

public MiscellaneousSemantics(Semantics semantics)
Parameters:
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(Token token,
                               java.util.List<java.lang.String> pidList)
                        throws CriticalParserException
Fü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(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 soll
index - 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 zu placeholder passenden, 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 - Ausdruck
merge - True falls verschmolzen werden soll, sonst false

setPostFilter

public void setPostFilter(AST ast,
                          java.lang.String postFilter)
                   throws SemanticErrorException
Legt 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(boolean type)
Setzt den Typ des Protokolls

Parameters:
type - True für Änderungs-, false für ein Statusprotokoll

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:
cleanUp in interface SemanticChecks
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.


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