|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.expr.ComputedExpression
net.sf.saxon.expr.Assignation
Assignation is an abstract superclass for the kinds of expression that declare range variables: for, some, and every.
Field Summary | |
protected Expression |
action
|
protected RangeVariableDeclaration |
declaration
|
protected Expression |
sequence
|
protected int |
slotNumber
|
protected java.lang.String |
variableName
|
Fields inherited from class net.sf.saxon.expr.ComputedExpression |
lineNumber, NO_ARGUMENTS, staticProperties |
Constructor Summary | |
Assignation()
|
Method Summary | |
Value |
evaluateVariable(XPathContext context)
Get the value of the range variable |
SequenceType |
getRequiredType()
Get data type of the range variable (part of the Binding interface) |
Expression[] |
getSubExpressions()
Get the immediate subexpressions of this expression |
java.lang.String |
getVariableName()
Get the display name of the range variable, for diagnostics only |
Expression |
promote(PromotionOffer offer)
Promote this expression if possible |
void |
setAction(Expression action)
Add the "return" or "satisfies" expression, and fix up all references to the range variable that occur within that expression |
void |
setSequence(Expression sequence)
Set the "sequence" expression - the one to which the variable is bound |
void |
setSlotNumber(int nr)
Set the slot number for the range variable |
void |
setVariableDeclaration(RangeVariableDeclaration decl)
Set the reference to the variable declaration |
Expression |
simplify()
Simplify the expression |
Methods inherited from class net.sf.saxon.expr.ComputedExpression |
computeCardinality, computeDependencies, computeSpecialProperties, computeStaticProperties, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getDependencies, getIntrinsicDependencies, getLineNumber, getSpecialProperties, iterate, markTailFunctionCalls, setLineNumber, typeError |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.sf.saxon.expr.Expression |
analyze, display, getItemType |
Field Detail |
protected int slotNumber
protected Expression sequence
protected Expression action
protected java.lang.String variableName
protected transient RangeVariableDeclaration declaration
Constructor Detail |
public Assignation()
Method Detail |
public void setVariableDeclaration(RangeVariableDeclaration decl)
public void setAction(Expression action)
action
- the expression that occurs after the "return" keyword of a "for"
expression, the "satisfies" keyword of "some/every", or the ":=" operator of
a "let" expression.
This method must be called after calling setVariableDeclaration()
public void setSequence(Expression sequence)
public void setSlotNumber(int nr)
public Expression simplify() throws XPathException
simplify
in interface Expression
simplify
in class ComputedExpression
XPathException
- if an error is discovered during expression
rewritingpublic Expression promote(PromotionOffer offer) throws XPathException
promote
in interface Expression
promote
in class ComputedExpression
offer
- details of the offer, for example the offer to move
expressions that don't depend on the context to an outer level in
the containing expression
XPathException
- if any error is detectedpublic Expression[] getSubExpressions()
getSubExpressions
in interface Expression
getSubExpressions
in class ComputedExpression
public SequenceType getRequiredType()
getRequiredType
in interface Binding
public java.lang.String getVariableName()
getVariableName
in interface Binding
public Value evaluateVariable(XPathContext context) throws XPathException
evaluateVariable
in interface Binding
XPathException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |