com.metamatrix.query.processor.xml
Class RecurseProgramCondition

java.lang.Object
  extended by com.metamatrix.query.processor.xml.Condition
      extended by com.metamatrix.query.processor.xml.CriteriaCondition
          extended by com.metamatrix.query.processor.xml.RecurseProgramCondition

public class RecurseProgramCondition
extends CriteriaCondition

This special condition handles recursive XML processing. If it evaluates to true, the Program it returns is a Program which is already on the program stack of the Processor Environment.


Field Summary
 
Fields inherited from class com.metamatrix.query.processor.xml.CriteriaCondition
criteria
 
Constructor Summary
RecurseProgramCondition(Program subProgramToRecurse, Criteria terminationCriteria)
           
RecurseProgramCondition(Program subProgramToRecurse, Criteria terminationCriteria, int recursionLimit, boolean exceptionOnRecursionLimit)
           
 
Method Summary
 boolean evaluate(XMLProcessorEnvironment env, com.metamatrix.query.processor.xml.XMLContext context)
          Evaluates to true, unless the termination criteria is true, or unless the recursion count limit has been reached
 boolean isProgramRecursive()
          Indicates if the then Program is recursive
 java.lang.String toString()
           
 
Methods inherited from class com.metamatrix.query.processor.xml.Condition
getThenProgram
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RecurseProgramCondition

public RecurseProgramCondition(Program subProgramToRecurse,
                               Criteria terminationCriteria)

RecurseProgramCondition

public RecurseProgramCondition(Program subProgramToRecurse,
                               Criteria terminationCriteria,
                               int recursionLimit,
                               boolean exceptionOnRecursionLimit)
Method Detail

isProgramRecursive

public boolean isProgramRecursive()
Description copied from class: Condition
Indicates if the then Program is recursive

Overrides:
isProgramRecursive in class Condition
Returns:
if the then Program is recursive
See Also:
Condition.isProgramRecursive()

evaluate

public boolean evaluate(XMLProcessorEnvironment env,
                        com.metamatrix.query.processor.xml.XMLContext context)
                 throws MetaMatrixComponentException,
                        MetaMatrixProcessingException
Evaluates to true, unless the termination criteria is true, or unless the recursion count limit has been reached

Overrides:
evaluate in class CriteriaCondition
Parameters:
env - ProcessorEnvironment of the XMLPlan, maintains state of the running XML Processor Plan
Throws:
MetaMatrixComponentException - if it was indicated in the constructor that an exception should be thrown because the recursion count limit was reached, OR if there was a problem evaluating the termination condition relational criteria
MetaMatrixProcessingException
See Also:
com.metamatrix.query.processor.xml.Condition#evaluate(Map, List, ProcessorEnvironment)

toString

public java.lang.String toString()
Overrides:
toString in class CriteriaCondition


Copyright © 2009. All Rights Reserved.