Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright © 2000, 2008, Oracle and/or its affiliates. All rights reserved.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.

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

Copyright © 2000, 2008, 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.