operators
Class CompoundOperator
java.lang.Object
|
+--dataanalysis.databases.DatabaseElement
|
+--operators.Operator
|
+--operators.CompoundOperator
- Direct Known Subclasses:
- PrintlnCompoundOperator
- public class CompoundOperator
- extends Operator
- implements java.util.List
Diese Klasse repr?sentiert zusammengesetzte Operatoren wie sie z.B. vom
OperatorLearner
gebildet werden.
Sie k?nnen aus Operator
,
ClassifierOperator
oder
CompoundOperator
bestehen.
Bei der Erstellung eines CompoundOperator
s m?ssen folgende
Dinge beachtet werden:
- Dem
CompoundOperator
steht als Wissensbasis nur
das zur Verf?gung, was er in der Vorbedingung vorfindet und sich
selbst w?hrend des Abarbeitens der Operatorenkomponenten erzeugt.
- Weil innerhalb des
CompoundOperator
s keine Belegung
der Vor- und Nachbedingungen der Operatorkomponenten stattfindet, hat der
Erbauer des KomponentenOperators daf?r Sorge zu tragen, dass die
Verzeigerung der PredArgument
s so erfolgt, dass der
Instanzenfluss zwischen den Operatoren gew?hrleistet ist.
- Die Komponentenoperatoren werden nacheinander ausgef?hrt. Dabei
kann jeweils nur genau ein Nachbedingungszweig des jeweiligen
Komponentenoperators ber?cksichtigt werden. Verzweigungen innerhalb
des
CompoundOperator
s werden nicht unterst?tzt.
- Der Nachbedingungsindex, der am
Ende der Ausf?hrung dieses Operators gilt, stimmt mit dem Index der
Nachbedingung des letzten ausgef?hrten Operatorkomponente ?berein, d.h.
der
CompoundOperator
muss exakt soviele Nachbedingungen
haben wie seine letzte Komponente.
- Scheitert eine Operatorkomponente, so scheitert der gesamte Operator
Die allgemeinen Bemerkungen f?r Operatoren
gelten auch f?r diesen Operatortyp.
- Version:
- 1.5
- Author:
- Nils Malzahn
- See Also:
OperatorLearner
,
Operator
, Serialized Form
Field Summary |
private java.util.LinkedList |
operatorComponents
Diese Variable stellt den Zeiger auf die Datenstruktur zur Speicherung
der Operatoren des Verbunds dar. |
Fields inherited from class operators.Operator |
added,
deleted,
OPCLASSIC,
OPCLASSIFIER,
OPCONDITIONAL,
opID,
OPREACTIVE,
OPTARGETMATCH,
opType,
postcondFullfilled,
postconds,
precond,
predicateIndexToVerify,
weight |
Constructor Summary |
CompoundOperator()
Dieser Konstruktor initialisiert die operatorComponents
des CompoundOperators mit einer leeren Liste. |
Method Summary |
void |
add(int index,
java.lang.Object element)
|
boolean |
add(java.lang.Object o)
Diese Methode soll genutzt werden, um Operatoren zum Compound
hinzugef?gt werden soll. |
boolean |
addAll(java.util.Collection c)
|
boolean |
addAll(int index,
java.util.Collection c)
|
void |
clear()
|
java.lang.Object |
clone()
Diese Methode erzeugt ein Deepcopy des CompoundOperator . |
boolean |
contains(java.lang.Object o)
|
boolean |
containsAll(java.util.Collection c)
|
Operator |
deepClone()
Deprecated. |
boolean |
equals(java.lang.Object o)
|
void |
eval()
Diese Methode veranlasst den Operator seine Arbeit zu tun, das heisst,
er versucht eine seiner Nachbedingungen zu erf?llen und erfolgreich zu
belegen. |
java.lang.Object |
get(int index)
|
int |
getNumberOfComponents()
Diese Methode |
int |
hashcode()
|
int |
indexOf(java.lang.Object o)
|
boolean |
isEmpty()
|
java.util.Iterator |
iterator()
|
int |
lastIndexOf(java.lang.Object o)
|
java.util.ListIterator |
listIterator()
|
java.util.ListIterator |
listIterator(int index)
|
java.lang.Object |
remove(int index)
|
boolean |
remove(java.lang.Object o)
|
boolean |
removeAll(java.util.Collection c)
|
boolean |
retainAll(java.util.Collection c)
|
java.lang.Object |
set(int index,
java.lang.Object element)
|
int |
size()
|
java.util.LinkedList |
splitCompound()
Diese Methode zerteilt den Operator in seine Einzelteile. |
java.util.List |
subList(int fromIndex,
int toIndex)
|
java.lang.Object[] |
toArray()
|
java.lang.Object[] |
toArray(java.lang.Object[] a)
|
java.lang.String |
toString()
Diese Methode gibt den Zustand des CompoundOperators inkl. |
Methods inherited from class operators.Operator |
deepPointerClone,
getAdded,
getDeleted,
getFullfilledPostcondition,
getOpID,
getOpType,
getPostcond,
getPostcondFullfilled,
getPrecond,
getUnverifiedPrecondPred,
getWeight,
setAdded,
setDeleted,
setOpID,
setOpType,
setPostcond,
setPostcondFullfilled,
setPrecond,
setPredicateIndexToVerify,
setVerifiedPrecondPred,
setWeight |
Methods inherited from class java.lang.Object |
,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
wait,
wait,
wait |
operatorComponents
private java.util.LinkedList operatorComponents
- Diese Variable stellt den Zeiger auf die Datenstruktur zur Speicherung
der Operatoren des Verbunds dar.
- Since:
- 1.0
CompoundOperator
public CompoundOperator()
- Dieser Konstruktor initialisiert die
operatorComponents
des CompoundOperators
mit einer leeren Liste.
- Since:
- 1.0
getNumberOfComponents
public int getNumberOfComponents()
- Diese Methode
- Returns:
int
gibt die Anzahl der Operatoren, aus denen
der Operator zusammengesetzt ist, zur?ck- Since:
- 1.0
splitCompound
public java.util.LinkedList splitCompound()
- Diese Methode zerteilt den Operator in seine Einzelteile.
Dabei werden
CompoundOperator
innerhalb dieses
CompoundOperator
nicht zerteilt.
Die Methode k?nnte bei einem Planer, der Planning by Rewriting
beherrscht verwendet werden.
- Returns:
LinkedList
Die Liste der Einzeloperatoren.- Since:
- 1.0
eval
public void eval()
throws OperatorFailedException
- Diese Methode veranlasst den Operator seine Arbeit zu tun, das heisst,
er versucht eine seiner Nachbedingungen zu erf?llen und erfolgreich zu
belegen.
Wenn der
Operator.opType
Operator.OPTARGETMATCH
ist, so scheitert
der Operator nicht, wenn keine Komponentenoperatoren existieren.
Bei jedem anderen Typ scheitert die Ausf?hrung in diesem Fall.
- Overrides:
- eval in class Operator
- Since:
- 1.0
add
public void add(int index,
java.lang.Object element)
- Specified by:
- add in interface java.util.List
add
public boolean add(java.lang.Object o)
- Diese Methode soll genutzt werden, um Operatoren zum Compound
hinzugef?gt werden soll. Der Operator wird nach allen Operatoren,
die zuvor hinzuge?gt wurden in den Verbund eingereiht.
- Specified by:
- add in interface java.util.List
- Parameters:
o
- der Operator, der zum Compound hinzugef?gt werden soll.- Returns:
- true
addAll
public boolean addAll(java.util.Collection c)
- Specified by:
- addAll in interface java.util.List
addAll
public boolean addAll(int index,
java.util.Collection c)
- Specified by:
- addAll in interface java.util.List
clear
public void clear()
- Specified by:
- clear in interface java.util.List
- Overrides:
- clear in class Operator
contains
public boolean contains(java.lang.Object o)
- Specified by:
- contains in interface java.util.List
containsAll
public boolean containsAll(java.util.Collection c)
- Specified by:
- containsAll in interface java.util.List
get
public java.lang.Object get(int index)
- Specified by:
- get in interface java.util.List
hashcode
public int hashcode()
indexOf
public int indexOf(java.lang.Object o)
- Specified by:
- indexOf in interface java.util.List
isEmpty
public boolean isEmpty()
- Specified by:
- isEmpty in interface java.util.List
iterator
public java.util.Iterator iterator()
- Specified by:
- iterator in interface java.util.List
lastIndexOf
public int lastIndexOf(java.lang.Object o)
- Specified by:
- lastIndexOf in interface java.util.List
listIterator
public java.util.ListIterator listIterator()
- Specified by:
- listIterator in interface java.util.List
listIterator
public java.util.ListIterator listIterator(int index)
- Specified by:
- listIterator in interface java.util.List
remove
public java.lang.Object remove(int index)
- Specified by:
- remove in interface java.util.List
remove
public boolean remove(java.lang.Object o)
- Specified by:
- remove in interface java.util.List
removeAll
public boolean removeAll(java.util.Collection c)
- Specified by:
- removeAll in interface java.util.List
retainAll
public boolean retainAll(java.util.Collection c)
- Specified by:
- retainAll in interface java.util.List
set
public java.lang.Object set(int index,
java.lang.Object element)
- Specified by:
- set in interface java.util.List
size
public int size()
- Specified by:
- size in interface java.util.List
subList
public java.util.List subList(int fromIndex,
int toIndex)
- Specified by:
- subList in interface java.util.List
toArray
public java.lang.Object[] toArray()
- Specified by:
- toArray in interface java.util.List
toArray
public java.lang.Object[] toArray(java.lang.Object[] a)
- Specified by:
- toArray in interface java.util.List
toString
public java.lang.String toString()
- Diese Methode gibt den Zustand des CompoundOperators inkl. der
Zust?nde seiner KomponentenOperatoren in einen aus.
- Returns:
- String, der den Zustand repr?sentiert
- Overrides:
- toString in class Operator
- Since:
- 1.1
equals
public boolean equals(java.lang.Object o)
- Specified by:
- equals in interface java.util.List
- Overrides:
- equals in class Operator
clone
public java.lang.Object clone()
throws java.lang.CloneNotSupportedException
- Diese Methode erzeugt ein Deepcopy des
CompoundOperator
.
- Returns:
- Klon des CompoundOperators
- Overrides:
- clone in class Operator
- Since:
- 1.4
deepClone
public Operator deepClone()
throws java.lang.CloneNotSupportedException
- Deprecated.
- Diese Methode erzeugt ein Deepcopy des CompoundOperators.
- Returns:
- Klon des CompoundOperators
- Overrides:
- deepClone in class Operator
- Since:
- 1.5