Constant
Keywords: yacs.parser.Constant class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## yacs.parser
Class Constant

    java.lang.Object
      yacs.parser.Expression
          yacs.parser.Constant

All Implemented Interfaces:
  java.lang.Cloneable, java.io.Serializable

public class Constant
extends Expression

Klasse zur Repräsentation einer Konstante innerhalb einer rekursiven Struktur zur Repräsentation eines algebraischen Constraint-Problems (Dokumentation siehe `Expression`).

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

Version:
  YACS 0.1.1
Author:
  Wolfgang Runte (woru@tzi.org)
See Also:
  Serialized Form

Constructor Summary
`Constant(DomainElement element)` Konstruktor -- Instantiierung der Konstante mit ihrer Belegung.
`Constant(double lo, double hi)` Konstruktor -- Aus Gründen der Vereinfachung können zur Instantiierung auch lediglich zwei `double`-Werte als untere und obere Schranke eines Intervalls angegeben werden.
`Constant(java.lang.Double lo, java.lang.Double hi)` Konstruktor -- Aus Gründen der Vereinfachung können zur Instantiierung auch zwei `Double`-Objekte als untere und obere Schranke eines Intervalls angegeben werden.
`Constant(int value)` Konstruktor -- Aus Gründen der Vereinfachung kann zur Instantiierung auch lediglich ein `int`-Wert angegeben werden.
`Constant(java.lang.Integer value)` Konstruktor -- Aus Gründen der Vereinfachung kann zur Instantiierung auch ein `Integer`-Objekt angegeben werden.

Method Summary
`boolean` | `containsVariable(java.lang.String variableName)` Liefert `true`, wenn der Expression die Variable mit dem übergebenen Namen enthält.
`int` | `count(java.lang.String variableName)` Liefert den "Vernetzungsgrad" einer Variablen innerhalb des Constraint-Problems, d.h. dem Grad ihres Vorkommens in den Constraints.
`DomainElement` | `evaluate()` Wertet den Constraint-Ausdruck aus.
`DomainElement` | `get(java.lang.String variableName)` Liefert die Wertebelegung der übergebenen Variable.
`Domain` | `getDomain(java.lang.String variableName)` Liefert die Domäne der übergebenen Variable.
`java.util.List` | `getPrimitiveExpressions()` Liefert die einzelnen "Primärausdrücke" des Constraint-Problems innerhalb einer Liste (enthält Instanzen des Interface `Expression`).
`java.util.List` | `getUnsetVariables()` Liefert eine Liste mit den Namen der noch unbelegten Variablen.
`Variable` | `getVariableReference(java.lang.String variableName)` Liefert die Referenz auf die Variable mit dem übergebenen Namen.
`java.util.List` | `getVariables()` Liefert eine Liste der Variablennamen des Constraint-Problems.
`boolean` | `hasFalseDomain()` Liefert `true`, wenn die Domäne einer Variable leer ist.
`boolean` | `hasValuationDomain()` Liefert `true`, wenn eine "valuation domain" vorliegt, d.h. in den Domänen aller Variablen ist jeweils genau ein Wert enthalten.
`void` | `init()` Initialisiert die Constraint-Variablen.
`boolean` | `satisfiable()` Prüft die Erfüllbarkeit des Constraint-Ausdrucks bzgl. der aktuellen Wertebelegung.
`boolean` | `set(java.lang.String variableName, DomainElement element)` Belegt die übergebene Variable mit einem Wert.
`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`).
`boolean` | `setValuationDomain()` Wenn eine "valuation domain" vorliegt, werden die Variablen mit dem in der jeweiligen Domäne einzig vorhandenen Wert belegt.
`void` | `singletons()` Entfernt bei allen Variablen, die mit einem Wert belegt sind, sämtliche anderen Elemente aus deren Domäne.
`java.lang.String` | `toString()` Konvertiert das Objekt in einen String.
`boolean` | `unsetVariablesLeft()` Gibt zurück ob unbelegte Variablen existieren (`true`) oder nicht (`false`).

Methods inherited from class yacs.parser.Expression
`clone, cloneDeep`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Constant

    public Constant(DomainElement element)

  Konstruktor -- Instantiierung der Konstante mit ihrer Belegung.

Parameters:
  `element` - DomainElement

### Constant

    public Constant(java.lang.Integer value)

  Konstruktor -- Aus Gründen der Vereinfachung kann zur Instantiierung auch ein `Integer`-Objekt angegeben werden. Das benötigte `DomainElement` bzw. `NumericFDElement` wird entsprechend erzeugt.

Parameters:
  `value` - Integer

### Constant

    public Constant(int value)

  Konstruktor -- Aus Gründen der Vereinfachung kann zur Instantiierung auch lediglich ein `int`-Wert angegeben werden. Das benötigte `DomainElement` bzw. `NumericFDElement` wird entsprechend erzeugt.

Parameters:
  `value` - int

### Constant

    public Constant(java.lang.Double lo,
                    java.lang.Double hi)

  Konstruktor -- Aus Gründen der Vereinfachung können zur Instantiierung auch zwei `Double`-Objekte als untere und obere Schranke eines Intervalls angegeben werden. Das benötigte `DomainElement` bzw. `IntervalDomainElement` wird entsprechend erzeugt.

Parameters:
  `lo` - double
  `hi` - double

### Constant

    public Constant(double lo,
                    double hi)

  Konstruktor -- Aus Gründen der Vereinfachung können zur Instantiierung auch lediglich zwei `double`-Werte als untere und obere Schranke eines Intervalls angegeben werden. Das benötigte `DomainElement` bzw. `IntervalDomainElement` wird entsprechend erzeugt.

Parameters:
  `lo` - double
  `hi` - double

Method Detail

### setDomain

    public boolean setDomain(java.lang.String variableName,
                             Domain domain)

  Description copied from class: `Expression`
  Belegt den Wertebereich der angegebenen Variable und gibt zurück, ob dies erfolgreich war (`true`) oder nicht (`false`).

  Specified by:
    `setDomain` in class `Expression`
  Parameters:
    `variableName` - String
    `domain` - Domain
  Returns:
    boolean

### getDomain

    public Domain getDomain(java.lang.String variableName)

  Description copied from class: `Expression`
  Liefert die Domäne der übergebenen Variable.

  Specified by:
    `getDomain` in class `Expression`
  Parameters:
    `variableName` - String
  Returns:
    Domain

### getVariables

    public java.util.List getVariables()

  Description copied from class: `Expression`
  Liefert eine Liste der Variablennamen des Constraint-Problems.

  Specified by:
    `getVariables` in class `Expression`
  Returns:
    List

### getUnsetVariables

    public java.util.List getUnsetVariables()

  Description copied from class: `Expression`
  Liefert eine Liste mit den Namen der noch unbelegten Variablen.

  Specified by:
    `getUnsetVariables` in class `Expression`
  Returns:
    List

### unsetVariablesLeft

    public boolean unsetVariablesLeft()

  Description copied from class: `Expression`
  Gibt zurück ob unbelegte Variablen existieren (`true`) oder nicht (`false`).

  Specified by:
    `unsetVariablesLeft` in class `Expression`
  Returns:
    boolean

### set

    public boolean set(java.lang.String variableName,
                       DomainElement element)

  Description copied from class: `Expression`
  Belegt die übergebene Variable mit einem Wert. War die Wertebelegung erfolgreich, wird `true` zurückgegeben, ansonsten `false`.

  Specified by:
    `set` in class `Expression`
  Parameters:
    `variableName` - String
    `element` - DomainElement
  Returns:
    boolean

### get

    public DomainElement get(java.lang.String variableName)

  Description copied from class: `Expression`
  Liefert die Wertebelegung der übergebenen Variable.

  Specified by:
    `get` in class `Expression`
  Parameters:
    `variableName` - String
  Returns:
    DomainElement

### satisfiable

    public boolean satisfiable()

  Description copied from class: `Expression`
  Prüft die Erfüllbarkeit des Constraint-Ausdrucks bzgl. der aktuellen Wertebelegung.

  Specified by:
    `satisfiable` in class `Expression`
  Returns:
    boolean

### evaluate

    public DomainElement evaluate()

  Description copied from class: `Expression`
  Wertet den Constraint-Ausdruck aus. Liefert als Ergebnis die Belegung einer Variable, den Wert einer Konstante oder das Ergebnis einer Berechnung.

  Specified by:
    `evaluate` in class `Expression`
  Returns:
    DomainElement

### getPrimitiveExpressions

    public java.util.List getPrimitiveExpressions()

  Description copied from class: `Expression`
  Liefert die einzelnen "Primärausdrücke" des Constraint-Problems innerhalb einer Liste (enthält Instanzen des Interface `Expression`).

  Specified by:
    `getPrimitiveExpressions` in class `Expression`
  Returns:
    List

### getVariableReference

    public Variable getVariableReference(java.lang.String variableName)

  Description copied from class: `Expression`
  Liefert die Referenz auf die Variable mit dem übergebenen Namen.

  Specified by:
    `getVariableReference` in class `Expression`
  Parameters:
    `variableName` - String
  Returns:
    Variable

### containsVariable

    public boolean containsVariable(java.lang.String variableName)

  Description copied from class: `Expression`
  Liefert `true`, wenn der Expression die Variable mit dem übergebenen Namen enthält. Ansonsten wird `false` zurückgegeben.

  Specified by:
    `containsVariable` in class `Expression`
  Parameters:
    `variableName` - String
  Returns:
    boolean

### hasFalseDomain

    public boolean hasFalseDomain()

  Description copied from class: `Expression`
  Liefert `true`, wenn die Domäne einer Variable leer ist. In diesem Fall ist keine Konsistenz bzw. Lösung herstellbar. Ansonsten wird `false` zurückgegeben.

  Specified by:
    `hasFalseDomain` in class `Expression`
  Returns:
    boolean

### hasValuationDomain

    public boolean hasValuationDomain()

  Description copied from class: `Expression`
  Liefert `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.

  Specified by:
    `hasValuationDomain` in class `Expression`
  Returns:
    boolean

### setValuationDomain

    public boolean setValuationDomain()

  Description copied from class: `Expression`
  Wenn eine "valuation domain" vorliegt, werden die Variablen mit dem in der jeweiligen Domäne einzig vorhandenen Wert belegt. Liefert `true`, wenn das Ergebnis positiv ist, d.h. die Werte einer "valuation domain" konnten alle gesetzt werden. Ansonsten wird `false` zurückgegeben.

  Specified by:
    `setValuationDomain` in class `Expression`
  Returns:
    boolean

### singletons

    public void singletons()

  Description copied from class: `Expression`
  Entfernt bei allen Variablen, die mit einem Wert belegt sind, sämtliche anderen Elemente aus deren Domäne. Variablen, die nicht mit einem Wert belegt sind, bleiben unverändert.

  Specified by:
    `singletons` in class `Expression`

### count

    public int count(java.lang.String variableName)

  Description copied from class: `Expression`
  Liefert den "Vernetzungsgrad" einer Variablen innerhalb des Constraint-Problems, d.h. dem Grad ihres Vorkommens in den Constraints.

  Specified by:
    `count` in class `Expression`
  Parameters:
    `variableName` - String
  Returns:
    int

### init

    public void init()

  Description copied from class: `Expression`
  Initialisiert die Constraint-Variablen. Es werden alle vorhandenen Belegungen entfernt.

  Specified by:
    `init` in class `Expression`

### toString

    public java.lang.String toString()

  Description copied from class: `Expression`
  Konvertiert das Objekt in einen String.

  Specified by:
    `toString` in class `Expression`
  Returns:
    String

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD