operators
Class Predicate

java.lang.Object
  |
  +--operators.Predicate

public class Predicate
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

Diese Klasse repr?sentiert ein Pr?dikat, dass aus mehreren PredArguments (das ist dann ein mehrstelliges Pr?dikat) zusammengesetzt sein kann.

Der Tatsache, dass die PredArguments nun auch Mengen unterst?tzen muss auch in dieser Klasse Rechnung getragen werden. Der Programmierer muss dazu die Bemerkungen zu PlanExecution.fillABox(Operator,OperatorCompareKey) beachten.

Version:
1.10
Author:
Christian Fischbach, Nils Malzahn [toString();clone();delete();confidence;revert()]
See Also:
PlanExecution, Operator, Serialized Form

Field Summary
protected  int arity
           
protected  double confidence
          Diese Variable gibt die Konfidenz in die Instanz dieses Predicates an, damit vor allem bei Rollen die PlanExecution die entsprechenden Werte in die A_Box eintragen kann.
protected  java.lang.String name
          Der Name name des Pr?dikats name(arg1, ..., argN).
Der Name muss dem Namen des Konzepts(einstelliges Predicate) bzw.

protected  PredArgument[] predArgs
          Die Argumente des Pr?dikats.
 
Constructor Summary
Predicate()
          Deprecated. Ich weiss nicht, ob der jemals gebraucht wird!
Predicate(int predArity, java.lang.String predName)
          Konstruktor
 
Method Summary
 java.lang.Object clone()
          Erzeugt einen Shallowcopy-Clone des Objekts.
 void copyPredArgFrom(Predicate src)
          Diese Methode kopiert den Inhalt der enthaltenen PredArguments in die entsprechenden eigenen PredArguments.
 Predicate deepClone()
          Erzeugt einen deepcopy-Clone des Objekts.
 Predicate deepPointerClone(java.util.Hashtable name2PredArg)
          clone-Methode, die neue Objekte erzeugt, aber die Verzeigerung der PredArgs beachtet.
 void delete()
          Diese Methode veranlasst, dass das dem Predicate entsprechende Konzept-Instanz bzw.
 int getArity()
          Liefert die Stelligkeit des Pr?dikats
 double getConfidence()
          Diese Methode gibt den Konfidenzwert der konkreten Rolle bzw.
 java.lang.String getName()
          Liefert den Namen namen des Pr?dikats namen(arg1, ..., argN).
 double getNewConfidence()
          Diese Methode gibt confidence zurück
 PredArgument getNotInstantiatedPredArg()
           
 PredArgument getPredArg(int predArgNr)
          Liefert das i-te predArgument
 boolean replaceable(Predicate p2)
          Testet ob das ?bergebene Predicate, statt dieses Predicate genutzt werden kann.
 void revert()
          Diese Methode veranlasst, dass das dem Predicate entsprechende Konzept-Instanz bzw.
private  int setArity(int predArity)
          Setzt die Stelligkeit des Pr?dikats
 void setConfidence(double d)
          Diese Methode setzt confidence auf den ?bergebenen Wert.
 java.lang.String setName(java.lang.String predName)
          Setzt den Namen namen des Pr?dikats namen(arg1, ..., argN).
 PredArgument setPredArg(PredArgument predArg, int predArgNr)
          setzen eines PredArguments.
 java.lang.String toString()
          Diese Methode gibt das Predicate in der Form name(arg0,arg1...,arg(N-1)) aus.
 boolean unifiesWith(Predicate p2)
          Testet, ob dieses Predicate mit dem uebergeben Predicate unifizierbar ist -- fuehrt diese Unifikation aber nicht durch.
 
Methods inherited from class java.lang.Object
, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

arity

protected int arity
Since:
version 1.0

name

protected java.lang.String name
Der Name name des Pr?dikats name(arg1, ..., argN).
Der Name muss dem Namen des Konzepts(einstelliges Predicate) bzw. der Rolle(zweistelliges Predicate) entsprechen, die sich in diesem Predicate befinden.
Since:
version 1.0


predArgs

protected PredArgument[] predArgs
Die Argumente des Pr?dikats. Array von PredArgument.
Since:
version 1.0

confidence

protected double confidence
Diese Variable gibt die Konfidenz in die Instanz dieses Predicates an, damit vor allem bei Rollen die PlanExecution die entsprechenden Werte in die A_Box eintragen kann.
Since:
1.5
Constructor Detail

Predicate

public Predicate(int predArity,
                 java.lang.String predName)
Konstruktor
Parameters:
predArity - Stelligkeit des Operators
predName - Name des Pr?dikats
Since:
version 1.0

Predicate

public Predicate()
Deprecated. Ich weiss nicht, ob der jemals gebraucht wird!
Method Detail

setConfidence

public void setConfidence(double d)
Diese Methode setzt confidence auf den ?bergebenen Wert.
Parameters:
d - Der Konfidenzwert, der gesetzt werden soll.
Since:
1.5

getConfidence

public double getConfidence()
Diese Methode gibt den Konfidenzwert der konkreten Rolle bzw. den Konfidenzwert der Instanz zum Konzept im zugehörigen PredArgument.
Returns:
den Wert von confidence.
Since:
1.5

getNewConfidence

public double getNewConfidence()
Diese Methode gibt confidence zurück
Returns:
den Wert von confidence.
Since:
1.10

getName

public java.lang.String getName()
Liefert den Namen namen des Pr?dikats namen(arg1, ..., argN).
Returns:
String Name des Pr?dikats
Since:
version 1.0

setName

public java.lang.String setName(java.lang.String predName)
Setzt den Namen namen des Pr?dikats namen(arg1, ..., argN).
Parameters:
predName - Name des Pr?dikats
Returns:
String neuer Name des Pr?dikats
Since:
version 1.0

getArity

public int getArity()
Liefert die Stelligkeit des Pr?dikats
Returns:
int Stelligkeit des Pr?dikats
Since:
version 1.0

setArity

private int setArity(int predArity)
Setzt die Stelligkeit des Pr?dikats
Parameters:
predArity - Die Stelligkeit des Pr?dikats
Returns:
int Die neue Stelligkeit des Pr?dikats
Since:
version 1.0

setPredArg

public PredArgument setPredArg(PredArgument predArg,
                               int predArgNr)
setzen eines PredArguments.
Parameters:
predArg - Das zu setzende PredArgument
Returns:
PredArgument - das gesetzte Argument.
Since:
version 1.0

getPredArg

public PredArgument getPredArg(int predArgNr)
Liefert das i-te predArgument
Parameters:
predArgNr - Array-Index des zu liefernden predArgument
Returns:
PredArgument - Das gew?nschte Argument.
Since:
version 1.0

getNotInstantiatedPredArg

public PredArgument getNotInstantiatedPredArg()
Returns:
das naechste noch nicht instanziierte oder bei einem PredArgument, welches eine Menge von Instanzen beinhaltet, ein PredArgument, das noch nicht vom Planausf?hrer bearbeitet wird zur?ck. Wenn alle PredArguments instantiziert sind, dann gibt die Methode null zur?ck..
Since:
version 1.0

toString

public java.lang.String toString()
Diese Methode gibt das Predicate in der Form name(arg0,arg1...,arg(N-1)) aus.
Overrides:
toString in class java.lang.Object
Since:
Version 1.1

clone

public java.lang.Object clone()
Erzeugt einen Shallowcopy-Clone des Objekts.
Returns:
Clone des Predicate
Overrides:
clone in class java.lang.Object
Since:
Version 1.8

deepClone

public Predicate deepClone()
Erzeugt einen deepcopy-Clone des Objekts.
Returns:
Clone des Predicate
Since:
Version 1.8

deepPointerClone

public Predicate deepPointerClone(java.util.Hashtable name2PredArg)
clone-Methode, die neue Objekte erzeugt, aber die Verzeigerung der PredArgs beachtet.

delete

public void delete()
Diese Methode veranlasst, dass das dem Predicate entsprechende Konzept-Instanz bzw. die entsprechende Rolleninstanz sich als ungelöscht zu markieren. Die Methode veranlasst diese Aenderungen jedoch nur mit der aktuellen Belegung der PredArgument. Wenn in den
Since:
1.7

revert

public void revert()
Diese Methode veranlasst, dass das dem Predicate entsprechende Konzept-Instanz bzw. die entsprechende Rolleninstanz sich als gelöscht zu markieren.
Since:
1.7

unifiesWith

public boolean unifiesWith(Predicate p2)
Testet, ob dieses Predicate mit dem uebergeben Predicate unifizierbar ist -- fuehrt diese Unifikation aber nicht durch.
Returns:
boolean true, wenn unifizierbar, false, sonst.
Since:
version 1.6

replaceable

public boolean replaceable(Predicate p2)
Testet ob das ?bergebene Predicate, statt dieses Predicate genutzt werden kann. Dabei werden die Subsumptions-Beziehungen der Argumente ber?cksichtigt. Insbesondere sollte this.replaceable(this) immer wahr sein.
Parameters:
p2 - das Predicate mit dem verglichen wird.
Returns:
true, wenn das ?bergebene Predicate statt diesem genutzt werden kann, d.h. die Predicate sind entweder gleich (Instanzen bleiben unber?cksichtigt) oder das Konzept von diesem Predicate subsumiert das Konzept von p2. Bei zweistelligen Pr?dikaten muss der Name gleich sein, aber die zugeh?rigen Argumente werden ?berpr?ft, ob sie ersetzbar sind.
Since:
1.8

copyPredArgFrom

public void copyPredArgFrom(Predicate src)
Diese Methode kopiert den Inhalt der enthaltenen PredArguments in die entsprechenden eigenen PredArguments. Wenn die Stelligkeiten der Prädikate nicht gleich ist, dann passiert nichts.
Parameters:
src - die Quelle der Kopien
Since:
1.9