|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.Objectcom.saxonica.stream.TemplateInversion
public class TemplateInversion
This class takes as input the expression tree representing the content of a streamable template, and analyses it. It performs two functions: firstly, to verify that the template is indeed streamable, and secondly, to generate a sequence of actions to be performed on processing the start of an element, and a sequence of actions to be performed at the end.
| Field Summary | |
|---|---|
static int |
APPLY_CHILDREN
|
static TemplateInversion |
BUILT_IN_DOCUMENT_TEMPLATE
|
static TemplateInversion |
BUILT_IN_ELEMENT_TEMPLATE
|
static int |
COPY_OF_CHILDREN
|
static int |
COPY_OF_SELF
|
static int |
NEXT_MATCH
|
static int |
SKIP_CHILDREN
|
static int |
VALUE_OF_CHILDREN
|
| Constructor Summary | |
|---|---|
TemplateInversion(Expression exp)
Create the Jackson inversion of a template, allowing the template to execute on a streamed input source. |
|
| Method Summary | |
|---|---|
void |
explain(ExpressionPresenter presenter)
Output diagnostic explanation to an ExpressionPresenter |
int |
getChildProcess()
Ask how the descendants are to be processed |
List<StreamingAction> |
getLeftAction()
Get the actions to be performed before processing the descendant nodes |
Mode |
getProcessChildrenMode()
If the child process is APPLY_TEMPLATES, get the mode |
List<StreamingAction> |
getRightAction()
Get the actions to be performed after processing the descendant nodes |
SlotManager |
getStackFrame()
Get the stackframe identifying the slots used for local variables |
void |
invert(NodeTest nodeTest)
Invert the body of the template. |
void |
setStackFrame(SlotManager frame)
Set the stackframe identifying the slots used for local variables |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int APPLY_CHILDREN
public static final int COPY_OF_CHILDREN
public static final int SKIP_CHILDREN
public static final int VALUE_OF_CHILDREN
public static final int COPY_OF_SELF
public static final int NEXT_MATCH
public static final TemplateInversion BUILT_IN_DOCUMENT_TEMPLATE
public static final TemplateInversion BUILT_IN_ELEMENT_TEMPLATE
| Constructor Detail |
|---|
public TemplateInversion(Expression exp)
exp - the body of the template| Method Detail |
|---|
public void invert(NodeTest nodeTest)
throws XPathException
nodeTest - The static item type of the context node for the template
XPathException - if the template is non-streamablepublic void setStackFrame(SlotManager frame)
frame - the stack frame skeletonpublic SlotManager getStackFrame()
public List<StreamingAction> getLeftAction()
public List<StreamingAction> getRightAction()
public int getChildProcess()
public Mode getProcessChildrenMode()
public void explain(ExpressionPresenter presenter)
explain in interface RuleTarget
|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||