net.sf.saxon.expr
Class LazyExpression
java.lang.Object
  
net.sf.saxon.expr.ComputedExpression
      
net.sf.saxon.expr.UnaryExpression
          
net.sf.saxon.expr.LazyExpression
- All Implemented Interfaces: 
 - Container, Expression, InstructionInfoProvider, java.io.Serializable, javax.xml.transform.SourceLocator
 
- public class LazyExpression
- extends UnaryExpression
  
A LazyExpression is an expression that forces lazy evaluation: it must not be evaluated eagerly,
 because a failure must not be reported unless the value is actually referenced. This is used
 for an expression that has been moved out of a loop. If the loop iterates zero times, the expression
 will not be evaluated, and in particular, it will not cause a dynamic error.
- See Also:
 - Serialized Form
 
 
 
 
 
 
| Methods inherited from class net.sf.saxon.expr.UnaryExpression | 
computeCardinality, computeSpecialProperties, display, equals, getBaseExpression, getItemType, hashCode, iterateSubExpressions, optimize, promote, simplify, typeCheck | 
 
| Methods inherited from class net.sf.saxon.expr.ComputedExpression | 
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, effectiveBooleanValue, evaluateAsString, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, markTailFunctionCalls, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError | 
 
| Methods inherited from class java.lang.Object | 
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait | 
 
makeLazyExpression
public static Expression makeLazyExpression(Expression operand)
 
evaluateItem
public Item evaluateItem(XPathContext context)
                  throws XPathException
- Evaluate an expression as a single item. This always returns either a single Item or
 null (denoting the empty sequence). No conversion is done. This method should not be
 used unless the static type of the expression is a subtype of "item" or "item?": that is,
 it should not be called if the expression may return a sequence. There is no guarantee that
 this condition will be detected.
- Specified by:
 evaluateItem in interface Expression- Overrides:
 evaluateItem in class ComputedExpression
 
- Parameters:
 context - The context in which the expression is to be evaluated
- Returns:
 - the node or atomic value that results from evaluating the
         expression; or null to indicate that the result is an empty
         sequence
 - Throws:
 XPathException - if any dynamic error occurs evaluating the
          expression
 
 
iterate
public SequenceIterator iterate(XPathContext context)
                         throws XPathException
- Return an Iterator to iterate over the values of a sequence. The value of every
 expression can be regarded as a sequence, so this method is supported for all
 expressions. This default implementation handles iteration for expressions that
 return singleton values: for non-singleton expressions, the subclass must
 provide its own implementation.
- Specified by:
 iterate in interface Expression- Overrides:
 iterate in class ComputedExpression
 
- Parameters:
 context - supplies the context for evaluation
- Returns:
 - a SequenceIterator that can be used to iterate over the result
         of the expression
 - Throws:
 XPathException - if any dynamic error occurs evaluating the
          expression
 
 
process
public void process(XPathContext context)
             throws XPathException
- Process the instruction, without returning any tail calls
- Specified by:
 process in interface Expression- Overrides:
 process in class ComputedExpression
 
- Parameters:
 context - The dynamic context, giving access to the current node,
                the current variables, etc.
- Throws:
 XPathException
 
 
displayOperator
protected java.lang.String displayOperator(NamePool pool)
- Description copied from class: 
UnaryExpression 
- Give a string representation of the operator for use in diagnostics
- Specified by:
 displayOperator in class UnaryExpression
 
- Returns:
 - the operator, as a string