com.bea.p13n.expression
Interface UnificationList


public interface UnificationList

An interface for a class that maps variable names to the variable values. Variables may be either bound or unbound. If they are bound, the Variable is mapped to a name. These bindings may occur in the ReteNetwork when the FinalNodes are named variables. A FinalNode is a node for unified rule instance storage. A final node has a single input terminal and zero output terminals. Each rule must have one or more final nodes for storing firable rule instances. In the Rete network, final nodes have pattern nodes or join nodes for input nodes.


Field Summary
static Byte NO_BOUND_VALUE
          A constant that is used as a marker to indicate that there is no value bound for a particular name string.
 
Method Summary
 void addObject(String name, Object object)
          Adds a new object to the unbound list.
 void append(UnificationList unificationList)
          Appends another UnificationList onto the end of this.
 void bind(String name, Object value)
          Binds a value to a given name.
 boolean contains(Object value)
          Tests whether this contains the given value.
 boolean containsBound(String value)
          Tests whether this contains the given value and the value has been bound to a variable name.
 Object getBound(String name, Class classType)
          Returns the Object that has been bound to a name.
 Object getValue(String name, Class classType)
          Returns the value of a bound variable or get an unbound value and then bind it.
 

Field Detail

NO_BOUND_VALUE

static final Byte NO_BOUND_VALUE
A constant that is used as a marker to indicate that there is no value bound for a particular name string.

Method Detail

bind

void bind(String name,
          Object value)
Binds a value to a given name.

Parameters
name - the variable name for the value.
value - the value to be associated with the name.

getBound

Object getBound(String name,
                Class classType)
Returns the Object that has been bound to a name.

Parameters
name - the variable name for the value.
classType - the class type of the value requested.
Returns
a bound value or null if none was found.

getValue

Object getValue(String name,
                Class classType)
Returns the value of a bound variable or get an unbound value and then bind it.

Parameters
name - the variable name for the value.
classType - the class type of the value requested.
Returns
a bound or unbound value or null if none was found.

addObject

void addObject(String name,
               Object object)
Adds a new object to the unbound list.

Parameters
name - the variable name for the value.
object - the value to be associated with the name.

append

void append(UnificationList unificationList)
Appends another UnificationList onto the end of this.

Parameters
unificationList - the UnificationList to be appended

contains

boolean contains(Object value)
Tests whether this contains the given value. The contains test is done by matching the references.

Parameters
value - the Object to be tested for.
Returns
true if this UnificationList contains the given Object.

containsBound

boolean containsBound(String value)
Tests whether this contains the given value and the value has been bound to a variable name. The contains test is done by matching the references.

Parameters
value - the Object to be tested for.
Returns
true if this UnificationList contains the given Object.


Copyright © 2000, 2009, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.