|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.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 templateMethod 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 |