com.novell.xsl.process
Class VariablePlaceholder

java.lang.Object
  extended bycom.novell.xsl.process.VariablePlaceholder
All Implemented Interfaces:
Expression

public class VariablePlaceholder
extends Object
implements Expression

Class that serves as a placeholder for a forward reference to a top-level variable


Constructor Summary
VariablePlaceholder(ExpandedQName name)
          Construct a new placeholder object.
 
Method Summary
 void dump(PrintWriter writer, int indent)
          Print the expression in a readable form for debugging.
 ExpressionValue evaluate(Node contextNode, ExpressionContext context)
          Evaluate the expression with repect to the passed context Note: The contextNode and context parameters may be null if and only if isConstant() returns true for the expression implementation.
 ExpandedQName getName()
          Return the name of the variable for which this is serving as a placeholder.
 Class getResultType()
          Return the Class object describing the result type of the expression.
 boolean isConstant()
          Return true if the expression is a constant value.
 void registerForReset(XPathResetRegistrar registrar)
          Register this expression or any subexpression that implements XPathResetCache with an object that wants to call resetCache()
 void setCurrentValue(ExpressionValue value)
          Allow a caller to set the value of the underlying expression.
 void setVariable(Expression variable)
          Set the actual variable definition into this placeholder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VariablePlaceholder

public VariablePlaceholder(ExpandedQName name)
Construct a new placeholder object.

Parameters:
name - The name of the variable for which this is placeholding.
Method Detail

getName

public ExpandedQName getName()
Return the name of the variable for which this is serving as a placeholder.

Returns:
The variable name

setVariable

public void setVariable(Expression variable)
Set the actual variable definition into this placeholder

Parameters:
variable - The expression object that is the variable

setCurrentValue

public void setCurrentValue(ExpressionValue value)
Allow a caller to set the value of the underlying expression. This is for AssignVariableTemplate to use.

Parameters:
value - The new value for the underlying variable

evaluate

public ExpressionValue evaluate(Node contextNode,
                                ExpressionContext context)
                         throws XPathEvaluationException
Evaluate the expression with repect to the passed context Note: The contextNode and context parameters may be null if and only if isConstant() returns true for the expression implementation.

Specified by:
evaluate in interface Expression
Parameters:
contextNode - context node for expression evaluation
context - expression context for expression evaluation
Returns:
result of evaluating expression
Throws:
XPathEvaluationException

isConstant

public boolean isConstant()
Return true if the expression is a constant value.

Specified by:
isConstant in interface Expression
Returns:
True is expression is constant, false otherwise.

getResultType

public Class getResultType()
Return the Class object describing the result type of the expression.

Specified by:
getResultType in interface Expression
Returns:
A Class object.

registerForReset

public void registerForReset(XPathResetRegistrar registrar)
Register this expression or any subexpression that implements XPathResetCache with an object that wants to call resetCache()

Specified by:
registerForReset in interface Expression

dump

public void dump(PrintWriter writer,
                 int indent)
Print the expression in a readable form for debugging.

Specified by:
dump in interface Expression
Parameters:
writer - The output device.
indent - Number of tabs to indent the result.