edu.wis.jtlv.env.module
Class ModuleBDDField

java.lang.Object
  extended by edu.wis.jtlv.env.module.ModuleEntity
      extended by edu.wis.jtlv.env.module.ModuleBDDField

public class ModuleBDDField
extends ModuleEntity

JTLVBDDField is an object representing a field variable in JTLV environment. On one hand, this object encapsulate the BDD domain, which does not necessarily has two boolean values. From the other hand, this object also encapsulate both prime and unprime, versions of the variables.

Version:
"1.1.0"
Author:
yaniv sa'ar.

Constructor Summary
ModuleBDDField(net.sf.javabdd.BDDDomain unprime, net.sf.javabdd.BDDDomain prime, java.lang.String a_path, java.lang.String name)
           The main public constructor for JTLVBDDField.
 
Method Summary
 boolean comparable(ModuleBDDField other)
           Check whether this object's domain is comparable to the give object domain.
 net.sf.javabdd.BDDDomain getDomain()
           Getter for the domain of this field.
 net.sf.javabdd.BDDDomain getOtherDomain()
           Getter for the domain of the other corresponding field.
 boolean isPrime()
           Check whether this is a prime version of the field representation.
 ModuleBDDField other()
           Return the other version of the field, regardless of which instance this is.
 ModuleBDDField prime()
           Get the prime version of this field.
 net.sf.javabdd.BDDVarSet support()
           Get the set of BDD variables which construct the domain for this field.
 ModuleBDDField unprime()
           Get the unprime version of this field.
 
Methods inherited from class edu.wis.jtlv.env.module.ModuleEntity
equals, getName, getPath, getSimpleArrayName, strongEquals, toFullString, toString
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ModuleBDDField

public ModuleBDDField(net.sf.javabdd.BDDDomain unprime,
                      net.sf.javabdd.BDDDomain prime,
                      java.lang.String a_path,
                      java.lang.String name)

The main public constructor for JTLVBDDField. Given a path, a name, a domain, and a corresponding domain, a new BDD field is created with a corresponding prime version of the field.

Parameters:
unprime - The domain to which we are constructing a field.
prime - The other corresponding domain.
a_path - A path to the field.
name - A name for this field.
See Also:
Env.newVar(String, String), Env.newVar(String, String, int)
Method Detail

other

public ModuleBDDField other()

Return the other version of the field, regardless of which instance this is.

Returns:
The other version of the field.
See Also:
prime(), unprime()

prime

public ModuleBDDField prime()
                     throws net.sf.javabdd.BDDException

Get the prime version of this field.

Returns:
The prime version of this field.
Throws:
net.sf.javabdd.BDDException - If this is a prime version of the field.
See Also:
other(), unprime()

unprime

public ModuleBDDField unprime()
                       throws net.sf.javabdd.BDDException

Get the unprime version of this field.

Returns:
The unprime version of this field.
Throws:
net.sf.javabdd.BDDException - If this is an unprime version of the field.
See Also:
other(), prime()

support

public net.sf.javabdd.BDDVarSet support()

Get the set of BDD variables which construct the domain for this field.

Returns:
The set of BDD variables.

isPrime

public boolean isPrime()

Check whether this is a prime version of the field representation.

Returns:
true if this is the prime version of the field, false otherwise.

getDomain

public net.sf.javabdd.BDDDomain getDomain()

Getter for the domain of this field.

Returns:
The domain of this field.
See Also:
getOtherDomain()

getOtherDomain

public net.sf.javabdd.BDDDomain getOtherDomain()

Getter for the domain of the other corresponding field.

Returns:
The domain of the other corresponding field.
See Also:
getDomain()

comparable

public boolean comparable(ModuleBDDField other)

Check whether this object's domain is comparable to the give object domain.

Parameters:
other - The other object to compare this filed to.
Returns:
true if the given object's domain is comparable to this domain, false otherwise.
See Also:
ModuleEntity.equals(Object), ModuleEntity.strongEquals(Object)