ABLE 2.0.0 07/02/2003 10:25:01

com.ibm.able.rules
Class AbleIfThenElseRule

java.lang.Object
  |
  +--com.ibm.able.rules.AbleRule
        |
        +--com.ibm.able.rules.AbleIfThenElseRule
All Implemented Interfaces:
java.io.Serializable

public class AbleIfThenElseRule
extends AbleRule
implements java.io.Serializable

This class holds the expressions and actions used in an if-then-else scripting rule. The antecedent expression can be an arbitrarily complex boolean expression and the then{} and else{} sections can contain one or more consequent (action) clauses.

See Also:
Serialized Form

Field Summary
protected  AbleExpression myAntecedent
          myAntecedent is an AbleExpression that evaluates to a boolean value.
protected  java.util.Vector myElseList
          myElseList is a list of AbleConsequentClause objects.
protected  java.util.Vector myThenList
          myThenList is a list of AbleConsequentClause objects.
 
Fields inherited from class com.ibm.able.rules.AbleRule
myBooleanTruth, myBreakpoint, myComment, myEnabled, myFiredCount, myFiredFlag, myId, myLabel, myLocation, myPreConditions, myPriority, myPrompt, myRdRefs, myRuleSet, myTemplateFlag, myTemplateName, myTemplateValues, myWrRefs, PriorityDefault, RuleIdInitial
 
Constructor Summary
AbleIfThenElseRule(java.lang.String theLabel, AbleRd thePriority, AbleExpression theAntecedent, java.util.Vector theThenList, java.util.Vector theElseList)
          Create a new conditional rule with the specified priority, antecedent clauses, and consequent clause.
 
Method Summary
 java.lang.String arlString()
          Return a formal Able Rule Language (ARL) String.
 AbleExpression getAntecedent()
          Retrieve the rule's list of antecedent clauses.
 java.util.Vector getElseClauses()
          Retrieve the rule's list of else clauses.
 java.lang.String getTemplateString(java.util.Vector theTemplateVars)
          Retrieve a text format string for use by rule templates.
 java.util.Vector getThenClauses()
          Retrieve the rule's list of consequent clauses.
 long numberOfAntecedents()
          Retrieve the number of antecedent clauses in this rule.
 long numberOfElseClauses()
          Retrieve the number of else clauses in this rule.
 long numberOfThenClauses()
          Retrieve the number of consequent clauses in this rule.
 void reset()
          Reset the rule to its unfired state.
 java.lang.String toString()
          Retrieve a string describing (the contents of) the object.
 java.lang.String traceString(int theTraceStringFlavor)
          Retrieve a string describing (the contents of) the object.
 java.lang.String xmlString()
          Return a formal XML string.
 
Methods inherited from class com.ibm.able.rules.AbleRule
addHeaderRdReferences, addRdReference, addRdReferences, addWrReference, addWrReferences, arlPreConditionsString, checkTimePeriodPreConditions, clearBreakpoint, Copyright, getArlComment, getBooleanTruth, getBreakpoint, getComment, getId, getIdLabelString, getLabel, getLocation, getPriority, getPrompt, getPromptString, getRdReferences, getTemplateHeaderString, getTemplateName, getTemplateValues, getTemplateVars, getWrReferences, isEnabled, isFired, isGeneratedFromTemplate, isTemplate, logTrace, setBooleanTruth, setBreakpoint, setComment, setEnabled, setFired, setId, setLocation, setPreConditions, setPriority, setPrompt, setTemplate, setTemplateName, setTemplateValues, xmlPreConditionsString, xmlPriorityString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

myAntecedent

protected AbleExpression myAntecedent
myAntecedent is an AbleExpression that evaluates to a boolean value.

myThenList

protected java.util.Vector myThenList
myThenList is a list of AbleConsequentClause objects. At least one must be present.

myElseList

protected java.util.Vector myElseList
myElseList is a list of AbleConsequentClause objects. The list may by empty, but it is never null.
Constructor Detail

AbleIfThenElseRule

public AbleIfThenElseRule(java.lang.String theLabel,
                          AbleRd thePriority,
                          AbleExpression theAntecedent,
                          java.util.Vector theThenList,
                          java.util.Vector theElseList)
Create a new conditional rule with the specified priority, antecedent clauses, and consequent clause.
Parameters:
theId - The unique Id of this rule.

theLabel - The unique label, or name, of this rule.

thePriority - The priority of this rule.

theAntecedents - A list of AbleAntecedentClause objects that define the antecedents of this rule. The list is cloned.

theThenList - A list of assignment statements that define the consequents of this rule. The list must contain at least one AbleConsequentClause.

theElseList - A list of assignment statements that define the actions to perform when the antecedents fail. The list may be empty, but it must not be null.

theTracer - A tracer object to which this rule can log information. This may be null, in which case no information is logged.

Method Detail

getAntecedent

public final AbleExpression getAntecedent()
Retrieve the rule's list of antecedent clauses.
Returns:
A reference to the actual list of antecedent clauses. This list may be empty (and will be empty if the rule is an assertion rather than a conditional rule), but the list is never null.

numberOfAntecedents

public long numberOfAntecedents()
Retrieve the number of antecedent clauses in this rule.
Returns:
The number of clauses.

getThenClauses

public final java.util.Vector getThenClauses()
Retrieve the rule's list of consequent clauses.
Returns:
The consequent clauses of the rule.

numberOfThenClauses

public long numberOfThenClauses()
Retrieve the number of consequent clauses in this rule.
Returns:
The number of clauses.

getElseClauses

public final java.util.Vector getElseClauses()
Retrieve the rule's list of else clauses.
Returns:
The else clauses of the rule.

numberOfElseClauses

public long numberOfElseClauses()
Retrieve the number of else clauses in this rule.
Returns:
The number of clauses.

reset

public void reset()
Reset the rule to its unfired state. Clear all antecedent clause truthValues.
Overrides:
reset in class AbleRule

arlString

public java.lang.String arlString()
Return a formal Able Rule Language (ARL) String.
Overrides:
arlString in class AbleRule
Returns:
A String describing the object in Able rule language.

xmlString

public java.lang.String xmlString()
Return a formal XML string.
Overrides:
xmlString in class AbleRule
Returns:
A String describing the object in XML.

getTemplateString

public java.lang.String getTemplateString(java.util.Vector theTemplateVars)
                                   throws AbleDataException
Retrieve a text format string for use by rule templates. The string contains "{n}" strings, where the index 'n' corresponds to the template variables defined in the rule template. This string is based on the standard arlString() representation of the rule. After replacement of the template variable values, the resulting string must be a valid ARL format string that can be parsed.
Overrides:
getTemplateString in class AbleRule
Parameters:
theTemplateVars - An ordered list of template variables referenced by this rule.
Returns:
A Text format string used to create a new rule instance.
See Also:
AbleRuleTemplate

toString

public java.lang.String toString()
Retrieve a string describing (the contents of) the object.
Overrides:
toString in class AbleRule
Returns:
A String containing the current contents of the object.

traceString

public java.lang.String traceString(int theTraceStringFlavor)
Retrieve a string describing (the contents of) the object.
Overrides:
traceString in class AbleRule
Parameters:
theFlavor - An Able.TraceStringFlavor value.

Returns:
A String containing the current contents of the object.

ABLE 2.0.0 07/02/2003 10:25:01

(C) Copyright IBM Corporation 1999, 2003