public class PromotionOffer
extends java.lang.Object
Modifier and Type | Field | Description |
---|---|---|
boolean |
accepted |
Flag that is set if the offer has been accepted, that is, if the expression has changed
|
int |
action |
action is one of the possible promotion actions, FOCUS_INDEPENDENT, RANGE_INDEPENDENT,
INLINE_VARIABLE_REFERENCES, ANY_ORDER, ANY_ORDER_UNIQUE
|
Binding[] |
bindingList |
In the case of RANGE_INDEPENDENT and WHERE_CLAUSE, "binding" identifies the range variables whose dependencies
we are looking for.
|
Expression |
containingExpression |
When a promotion offer is made, containingExpression identifies the level to which the promotion
should occur.
|
static int |
FOCUS_INDEPENDENT |
FOCUS_INDEPENDENT requests promotion of all non-trivial subexpressions that don't depend on the
focus.
|
static int |
INLINE_VARIABLE_REFERENCES |
Inline variable references causes all references to a variable V to be replaced by the
expression E.
|
boolean |
mustEliminateDuplicates |
In the case of UNORDERED, "mustEliminateDuplicates" is a boolean that is set to
true if the nodes can be delivered in any order so long as there are no duplicates
(for example, as required by the count() function).
|
boolean |
promoteDocumentDependent |
In the case of FOCUS_INDEPENDENT, "promoteDocumentDependent" is a boolean that, when set to
true, indicates that it is safe to promote a subexpression that depends on the context document
but not on other aspects of the focus.
|
boolean |
promoteXSLTFunctions |
In the case of FOCUS_INDEPENDENT, "promoteXSLTFunctions" is a boolean that, when set to true, indicates
that it is safe to promote XSLT functions such as current().
|
static int |
RANGE_INDEPENDENT |
RANGE_INDEPENDENT requests promotion of all non-trivial subexpressions that don't depend on a
specified range variable.
|
static int |
REPLACE_CURRENT |
REPLACE_CURRENT causes calls to the XSLT current() function to be replaced by
reference to a variable.
|
static int |
UNORDERED |
UNORDERED indicates that the containing expression does not require the results
to be delivered in any particular order.
|
Constructor | Description |
---|---|
PromotionOffer(Optimizer optimizer) |
Create a PromotionOffer for use with a particular Optimizer
|
Modifier and Type | Method | Description |
---|---|---|
Expression |
accept(Expression child) |
Method to test whether a subexpression qualifies for promotion, and if so, to
accept the promotion.
|
Optimizer |
getOptimizer() |
Get the optimizer in use
|
public static final int FOCUS_INDEPENDENT
public static final int RANGE_INDEPENDENT
public static final int INLINE_VARIABLE_REFERENCES
public static final int UNORDERED
public static final int REPLACE_CURRENT
public int action
public boolean promoteDocumentDependent
public boolean promoteXSLTFunctions
public boolean mustEliminateDuplicates
public Binding[] bindingList
public Expression containingExpression
public boolean accepted
public PromotionOffer(Optimizer optimizer)
public Optimizer getOptimizer()
public Expression accept(Expression child) throws XPathException
XPathException