operators
Class ClassifierOperator

java.lang.Object
  |
  +--dataanalysis.databases.DatabaseElement
        |
        +--operators.Operator
              |
              +--operators.ClassifierOperator

public class ClassifierOperator
extends Operator

Diese Operatorklasse ist repr?sentiert die Operatorh?lle f?r die Klassifikationsaufrufe. Da die eigentliche Klassifikation nun durch Methoden innerhalb der Konzeptklasse geschieht, ist es m?glich eine allgemeing?ltige eval-Methode zu schreiben, die sich aufgrund der Operator.postconds Nachbedingung heraussucht, welchen Klassifikator sie anwenden soll bzw. welches Konzept gefragt werden muss, ob die ?bergebene Vorbedingung eine A-Box-Instanz der Nachbedingung ist. Dieser Operator hat immer genau zwei Nachbedingungen. Die erste Nachbedingung trifft genau dann zu, wenn die in der Vorbedingung ?bergebene Instanz nicht zum Nachbedingungskonzept geh?rt. Die zweite Nachbedingung trifft genau dann zu, wenn die Instanz zum Nachbedingungskonzept geh?rt. Die Instanzen dieser Klasse werden automatisch von der OperatorDB erzeugt.

Die allgemeinen Bemerkungen f?r Operatoren gelten auch f?r diesen Operatortyp.

Version:
1.2
Author:
Nils Malzahn
See Also:
OperatorDB, Operator, Serialized Form

Field Summary
protected  Concept postcondConcept
          Das Nachbedingungskonzept, das gefragt werden soll, ob die Vorbedingungsinstanz auch eine Instanz des Nachbedingungskonzepts ist.
protected  Concept precondConcept
          Das Vorbedingungskonzept, dessen Instanz genauer klassifiert werden soll.
 
Fields inherited from class operators.Operator
added, deleted, OPCLASSIC, OPCLASSIFIER, OPCONDITIONAL, opID, OPREACTIVE, OPTARGETMATCH, opType, postcondFullfilled, postconds, precond, predicateIndexToVerify, weight
 
Fields inherited from class dataanalysis.databases.DatabaseElement
elementname
 
Constructor Summary
ClassifierOperator()
          Dieser Konstruktor dient nur dem Aufruf durch die Clone()- Methode und sollte von nichts anderem benutzt werden, da sonst nicht klar ist, welche sinnvollen Werte precondConcept und postcondConcept annehmen sollen.
ClassifierOperator(Concept postcondConcept, Concept precondConcept)
          Dieser Konstruktor erlaubt es, Vor- und Nachbedingungskonzepte zu ?bergeben, von und zu denen die Klassifikation stattfinden soll.
 
Method Summary
 java.lang.Object clone()
          Diese Methode erzeugt ein deepcopy des Operator.
 Operator deepClone()
          Deprecated.  
 void eval()
          Diese Methode f?hrt die Klassifikation der Operatorvorbedingungsinstanzen nach der Operatornachbedingung aus.
protected  void init()
          Aufgrund der Java-beschr?nkung, dass ein Konstruktoraufruf immer am Anfang stehen muss, habe ich die eigentliche Initialisierung des ClassifierOperator in diese Methode verlagert.
 void setPostcondConcept(Concept c)
          Diese Methode setzt das postcondConcept.
 void setPrecondConcept(Concept c)
          Diese Methode setzt das precondConcept.
 
Methods inherited from class operators.Operator
clear, deepPointerClone, equals, getAdded, getDeleted, getFullfilledPostcondition, getOpID, getOpType, getPostcond, getPostcondFullfilled, getPrecond, getUnverifiedPrecondPred, getWeight, setAdded, setDeleted, setOpID, setOpType, setPostcond, setPostcondFullfilled, setPrecond, setPredicateIndexToVerify, setVerifiedPrecondPred, setWeight, toString
 
Methods inherited from class dataanalysis.databases.DatabaseElement
getElementname, logMessage, setElementname
 
Methods inherited from class java.lang.Object
, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

precondConcept

protected Concept precondConcept
Das Vorbedingungskonzept, dessen Instanz genauer klassifiert werden soll.
Since:
1.0

postcondConcept

protected Concept postcondConcept
Das Nachbedingungskonzept, das gefragt werden soll, ob die Vorbedingungsinstanz auch eine Instanz des Nachbedingungskonzepts ist.
Since:
1.0
Constructor Detail

ClassifierOperator

public ClassifierOperator()
Dieser Konstruktor dient nur dem Aufruf durch die Clone()- Methode und sollte von nichts anderem benutzt werden, da sonst nicht klar ist, welche sinnvollen Werte precondConcept und postcondConcept annehmen sollen.
Since:
1.0

ClassifierOperator

public ClassifierOperator(Concept postcondConcept,
                          Concept precondConcept)
Dieser Konstruktor erlaubt es, Vor- und Nachbedingungskonzepte zu ?bergeben, von und zu denen die Klassifikation stattfinden soll.
Parameters:
postcondConcept - das Konzept, das in der Nachbedingung stehen soll und nachdem daher auch klassifiziert wird.
precondConcept - das Konzept, dass in der Vorbedingung stehen soll. Also das Konzept dessen Instanz genauer klassifiziert werden soll.
Since:
1.0
Method Detail

init

protected void init()
Aufgrund der Java-beschr?nkung, dass ein Konstruktoraufruf immer am Anfang stehen muss, habe ich die eigentliche Initialisierung des ClassifierOperator in diese Methode verlagert. Die Methode geht davon aus, dass postcondConcept und precondConcept mit Konzepten initialisiert sind und Vor- und Nachbedingung einfach ?berschrieben werden k?nnen.
Since:
1.0

eval

public void eval()
          throws OperatorFailedException
Diese Methode f?hrt die Klassifikation der Operatorvorbedingungsinstanzen nach der Operatornachbedingung aus.
Throws:
OperatorFailedException - wird geworfen, wenn der Operator aus irgendeinem Grund nicht in der Lage ist seine Ausf?hrung zu beenden.
Overrides:
eval in class Operator
Since:
1.0

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Diese Methode erzeugt ein deepcopy des Operator.
Overrides:
clone in class Operator
Since:
1.0

deepClone

public Operator deepClone()
                   throws java.lang.CloneNotSupportedException
Deprecated.  
Diese Methode erzeugt ein deepcopy des Operator.
Overrides:
deepClone in class Operator
Since:
1.2

setPostcondConcept

public void setPostcondConcept(Concept c)
Diese Methode setzt das postcondConcept.
Parameters:
c - das Concept, dass in der Nachbedingung stehen soll.
Since:
1.0

setPrecondConcept

public void setPrecondConcept(Concept c)
Diese Methode setzt das precondConcept.
Parameters:
c - das Concept, dass in der Vorbedingung stehen soll.
Since:
1.0