|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectyacs.parser.Expression
Abstrakte Klasse für eine rekursive Struktur zur Repräsentation eines
algebraischen Constraint-Problems. Anm.: Diese Klasse bzw. die erbenden
Klassen arbeiten in Bezug auf die Variablen "stringbasiert" noch (anhand der
Variablennamen). Dies sollte dahingehend geändert werden, dass die
entsprechenden Objekte der Klasse Variable
direkt verwendet
werden.
Copyright (C) 2005 Wolfgang Runte
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
Constructor Summary | |
Expression()
|
Method Summary | |
java.lang.Object |
clone()
Liefert eine Kopie dieses Objekts. |
Expression |
cloneDeep()
Klont this und rekursiv alle darin referenzierten Objekte mit
(die Selbheit indirekt mehrfach referenzierter Objekte bleibt erhalten). |
abstract boolean |
containsVariable(java.lang.String variableName)
Liefert true , wenn der Expression die Variable mit dem
übergebenen Namen enthält. |
abstract int |
count(java.lang.String variableName)
Liefert den "Vernetzungsgrad" einer Variablen innerhalb des Constraint-Problems, d.h. dem Grad ihres Vorkommens in den Constraints. |
abstract DomainElement |
evaluate()
Wertet den Constraint-Ausdruck aus. |
abstract DomainElement |
get(java.lang.String variableName)
Liefert die Wertebelegung der übergebenen Variable. |
abstract Domain |
getDomain(java.lang.String variableName)
Liefert die Domäne der übergebenen Variable. |
abstract java.util.List |
getPrimitiveExpressions()
Liefert die einzelnen "Primärausdrücke" des Constraint-Problems innerhalb einer Liste (enthält Instanzen des Interface Expression ). |
abstract java.util.List |
getUnsetVariables()
Liefert eine Liste mit den Namen der noch unbelegten Variablen. |
abstract Variable |
getVariableReference(java.lang.String variableName)
Liefert die Referenz auf die Variable mit dem übergebenen Namen. |
abstract java.util.List |
getVariables()
Liefert eine Liste der Variablennamen des Constraint-Problems. |
abstract boolean |
hasFalseDomain()
Liefert true , wenn die Domäne einer Variable leer ist.
|
abstract boolean |
hasValuationDomain()
Liefert true , wenn eine "valuation domain" vorliegt, d.h. in
den Domänen aller Variablen ist jeweils genau ein Wert enthalten. |
abstract void |
init()
Initialisiert die Constraint-Variablen. |
abstract boolean |
satisfiable()
Prüft die Erfüllbarkeit des Constraint-Ausdrucks bzgl. der aktuellen Wertebelegung. |
abstract boolean |
set(java.lang.String variableName,
DomainElement element)
Belegt die übergebene Variable mit einem Wert. |
abstract boolean |
setDomain(java.lang.String variableName,
Domain domain)
Belegt den Wertebereich der angegebenen Variable und gibt zurück, ob dies erfolgreich war ( true ) oder nicht (false ). |
abstract boolean |
setValuationDomain()
Wenn eine "valuation domain" vorliegt, werden die Variablen mit dem in der jeweiligen Domäne einzig vorhandenen Wert belegt. |
abstract void |
singletons()
Entfernt bei allen Variablen, die mit einem Wert belegt sind, sämtliche anderen Elemente aus deren Domäne. |
abstract java.lang.String |
toString()
Konvertiert das Objekt in einen String. |
abstract boolean |
unsetVariablesLeft()
Gibt zurück ob unbelegte Variablen existieren ( true ) oder nicht
(false ). |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public Expression()
Method Detail |
public abstract boolean setDomain(java.lang.String variableName, Domain domain)
true
) oder nicht (false
).
variableName
- Stringdomain
- Domain
public abstract Domain getDomain(java.lang.String variableName)
variableName
- String
public abstract java.util.List getVariables()
public abstract java.util.List getUnsetVariables()
public abstract boolean unsetVariablesLeft()
true
) oder nicht
(false
).
public abstract boolean set(java.lang.String variableName, DomainElement element)
true
zurückgegeben, ansonsten
false
.
variableName
- Stringelement
- DomainElement
public abstract DomainElement get(java.lang.String variableName)
variableName
- String
public abstract boolean satisfiable()
public abstract DomainElement evaluate()
public abstract java.util.List getPrimitiveExpressions()
Expression
).
public abstract Variable getVariableReference(java.lang.String variableName)
variableName
- String
public abstract boolean containsVariable(java.lang.String variableName)
true
, wenn der Expression die Variable mit dem
übergebenen Namen enthält. Ansonsten wird false
zurückgegeben.
variableName
- String
public abstract boolean hasFalseDomain()
true
, wenn die Domäne einer Variable leer ist.
In diesem Fall ist keine Konsistenz bzw. Lösung herstellbar.
Ansonsten wird false
zurückgegeben.
public abstract boolean hasValuationDomain()
true
, wenn eine "valuation domain" vorliegt, d.h. in
den Domänen aller Variablen ist jeweils genau ein Wert enthalten. Ansonsten
wird false
zurückgegeben.
public abstract boolean setValuationDomain()
true
, wenn das Ergebnis positiv ist, d.h. die Werte einer
"valuation domain" konnten alle gesetzt werden. Ansonsten wird
false
zurückgegeben.
public abstract void singletons()
public abstract int count(java.lang.String variableName)
variableName
- String
public abstract void init()
public abstract java.lang.String toString()
public java.lang.Object clone()
public Expression cloneDeep()
this
und rekursiv alle darin referenzierten Objekte mit
(die Selbheit indirekt mehrfach referenzierter Objekte bleibt erhalten).
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |