yacs.solver.fdsolver.consistency
Class HyperArc

java.lang.Object
  extended byyacs.solver.fdsolver.consistency.HyperArc
Direct Known Subclasses:
BinaryArc

public class HyperArc
extends java.lang.Object

Hilfsklasse zur Beschreibung einer beliebigstelligen "Kante" für Algorithmen zur Herstellung von (Hyper-)Kantenkonsistenz. Eine Kante zwischen n Knoten entspricht einem n-stelligen Constraint, welches n Constraint-Variablen beschränkt.

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)

Constructor Summary
HyperArc()
          Konstruktor -- Instantiiert die Hyperkante.
HyperArc(java.util.List nodes, Expression expr)
          Konstruktor -- Benötigt eine Liste mit den Knoten der Kante (enthält Instanzen der Klasse String) sowie den Constraint-Ausdruck, der diese Kante beinhaltet.
 
Method Summary
 Expression expression()
          Liefert den Constraint-Ausdruck, zu dem diese Kante gehört.
 Domain getDomain(java.lang.String node)
          Liefert die jeweilige Domäne zum übergebenen Knoten.
 java.util.List getNodes()
          Liefert eine "unmodifizierbare" Liste mit den Knoten der Kante (enthält Instanzen der Klasse String).
 java.lang.String toString()
          Liefert die Kante als String (für Debugging).
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HyperArc

public HyperArc()
Konstruktor -- Instantiiert die Hyperkante.


HyperArc

public HyperArc(java.util.List nodes,
                Expression expr)
Konstruktor -- Benötigt eine Liste mit den Knoten der Kante (enthält Instanzen der Klasse String) sowie den Constraint-Ausdruck, der diese Kante beinhaltet.

Method Detail

getNodes

public java.util.List getNodes()
Liefert eine "unmodifizierbare" Liste mit den Knoten der Kante (enthält Instanzen der Klasse String).

Returns:
List

getDomain

public Domain getDomain(java.lang.String node)
Liefert die jeweilige Domäne zum übergebenen Knoten.

Parameters:
node - String
Returns:
Domain

expression

public Expression expression()
Liefert den Constraint-Ausdruck, zu dem diese Kante gehört.

Returns:
Expression

toString

public java.lang.String toString()
Liefert die Kante als String (für Debugging).

Returns:
String