JSHOP2
Class LogicalExpressionDisjunction

java.lang.Object
  extended by JSHOP2.CompileTimeObject
      extended by JSHOP2.LogicalExpression
          extended by JSHOP2.LogicalExpressionDisjunction

public class LogicalExpressionDisjunction
extends LogicalExpression

Each disjunction at compile time is represented as an instance of this class.

Version:
1.0.3
Author:
Okhtay Ilghami, http://www.cs.umd.edu/~okhtay

Field Summary
private  int cnt
          The number of objects instantiated from this class before this object was instantiated.
private  LogicalExpression[] le
          An array of logical expressions the disjunction of which is represented by this object.
 
Fields inherited from class JSHOP2.CompileTimeObject
endl
 
Constructor Summary
LogicalExpressionDisjunction(java.util.Vector<LogicalExpression> leIn)
          To initialize this disjunction.
 
Method Summary
 java.lang.String getInitCode()
          This function produces Java code that implements the classes any object of which can be used at run time to represent the disjuncts of this disjunction, and the disjunction itself.
protected  void propagateVarCount(int varCount)
          To propagate the variable count to all the logical expressions the disjunction of which this object represents.
 java.lang.String toCode()
          This function produces the Java code to create an object of the class that was implemented to represent this disjunction at run time.
 
Methods inherited from class JSHOP2.LogicalExpression
getClassCnt, getVarCount, setVarCount
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cnt

private int cnt
The number of objects instantiated from this class before this object was instantiated. Used to make the name of the precondition class that implements this disjunction unique.


le

private LogicalExpression[] le
An array of logical expressions the disjunction of which is represented by this object.

Constructor Detail

LogicalExpressionDisjunction

public LogicalExpressionDisjunction(java.util.Vector<LogicalExpression> leIn)
To initialize this disjunction.

Parameters:
leIn - a Vector of logical expressions the disjunction of which is represented by this object. Note that we use a Vector rather than an array since at compile time we do not know how many disjuncts there are in this particular disjunction.
Method Detail

getInitCode

public java.lang.String getInitCode()
This function produces Java code that implements the classes any object of which can be used at run time to represent the disjuncts of this disjunction, and the disjunction itself.

Specified by:
getInitCode in class LogicalExpression
Returns:
the produced code as a String.

propagateVarCount

protected void propagateVarCount(int varCount)
To propagate the variable count to all the logical expressions the disjunction of which this object represents.

Specified by:
propagateVarCount in class LogicalExpression
Parameters:
varCount - the number of variables for this logical expression.

toCode

public java.lang.String toCode()
This function produces the Java code to create an object of the class that was implemented to represent this disjunction at run time.

Specified by:
toCode in class CompileTimeObject
Returns:
the produced code as a String.