|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.expr.Expression
net.sf.saxon.expr.Assignation
public abstract class Assignation
Assignation is an abstract superclass for the kinds of expression that declare range variables: for, some, and every.
Field Summary |
---|
Fields inherited from class net.sf.saxon.expr.Expression |
---|
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD |
Constructor Summary | |
---|---|
Assignation()
|
Method Summary | |
---|---|
ValueRepresentation |
evaluateVariable(XPathContext context)
Get the value of the range variable |
Expression |
getAction()
Get the action expression |
int |
getLocalSlotNumber()
If this is a local variable held on the local stack frame, return the corresponding slot number. |
int |
getRequiredSlots()
Get the number of slots required. |
Expression |
getSequence()
Get the "sequence" expression - the one to which the variable is bound |
RangeVariableDeclaration |
getVariableDeclaration()
Get the variable declaration |
int |
getVariableFingerprint()
|
String |
getVariableName()
Get the display name of the range variable, for diagnostics only |
int |
getVariableNameCode()
|
boolean |
isAssignable()
Test whether it is permitted to assign to the variable using the saxon:assign extension element. |
boolean |
isGlobal()
Indicate whether the binding is local or global. |
Iterator |
iterateSubExpressions()
Get the immediate subexpressions of this expression |
Expression |
promote(PromotionOffer offer)
Promote this expression if possible |
boolean |
replaceSubExpression(Expression original,
Expression replacement)
Replace one subexpression by a replacement subexpression |
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(StaticContext env)
Simplify the expression |
void |
suppressValidation(int validationMode)
Suppress validation on contained element constructors, on the grounds that the parent element is already performing validation. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Assignation()
Method Detail |
---|
public void setVariableDeclaration(RangeVariableDeclaration decl)
public RangeVariableDeclaration getVariableDeclaration()
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 final boolean isGlobal()
isGlobal
in interface Binding
public final boolean isAssignable()
isAssignable
in interface Binding
public int getLocalSlotNumber()
getLocalSlotNumber
in interface Binding
public Expression getAction()
public void setSequence(Expression sequence)
public Expression getSequence()
public void setSlotNumber(int nr)
public int getRequiredSlots()
public Expression simplify(StaticContext env) throws XPathException
simplify
in class Expression
XPathException
- if an error is discovered during expression
rewritingpublic Expression promote(PromotionOffer offer) throws XPathException
promote
in class Expression
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 void suppressValidation(int validationMode)
suppressValidation
in class Expression
public Iterator iterateSubExpressions()
iterateSubExpressions
in class Expression
public boolean replaceSubExpression(Expression original, Expression replacement)
replaceSubExpression
in interface Container
replaceSubExpression
in class Expression
original
- the original subexpressionreplacement
- the replacement subexpression
public int getVariableNameCode()
public int getVariableFingerprint()
public String getVariableName()
public ValueRepresentation 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 |