org.apache.xpath.axes
public class WalkerFactory extends Object
Field Summary | |
---|---|
static int | BITMASK_TRAVERSES_OUTSIDE_SUBTREE
If any of these bits are on, the expression may likely traverse outside
the given subtree. |
static int | BITS_COUNT
First 8 bits are the number of top-level location steps. |
static int | BITS_RESERVED 4 bits are reserved for future use. |
static int | BIT_ANCESTOR Bit is on if any of the walkers contain an ancestor step. |
static int | BIT_ANCESTOR_OR_SELF Bit is on if any of the walkers contain an ancestor-or-self step. |
static int | BIT_ANY_DESCENDANT_FROM_ROOT Found "//foo" pattern |
static int | BIT_ATTRIBUTE Bit is on if any of the walkers contain an attribute step. |
static int | BIT_BACKWARDS_SELF
Bit is on if any of the walkers can go backwards in document
order from the context node. |
static int | BIT_CHILD Bit is on if any of the walkers contain a child step. |
static int | BIT_DESCENDANT Bit is on if any of the walkers contain a descendant step. |
static int | BIT_DESCENDANT_OR_SELF Bit is on if any of the walkers contain a descendant-or-self step. |
static int | BIT_FILTER
Bit is on if any of the walkers contain a filter (i.e. id(), extension
function, etc.) step. |
static int | BIT_FOLLOWING Bit is on if any of the walkers contain a following step. |
static int | BIT_FOLLOWING_SIBLING Bit is on if any of the walkers contain a following-sibiling step. |
static int | BIT_MATCH_PATTERN Bit is on if the expression is a match pattern. |
static int | BIT_NAMESPACE Bit is on if any of the walkers contain a namespace step. |
static int | BIT_NODETEST_ANY
Bit is on if any of the walkers contain an node() test. |
static int | BIT_PARENT Bit is on if any of the walkers contain a parent step. |
static int | BIT_PRECEDING Bit is on if any of the walkers contain a preceding step. |
static int | BIT_PRECEDING_SIBLING Bit is on if any of the walkers contain a preceding-sibling step. |
static int | BIT_PREDICATE Bit is on if the expression contains a top-level predicate. |
static int | BIT_ROOT Bit is on if any of the walkers contain a root step. |
static int | BIT_SELF Bit is on if any of the walkers contain a self step. |
Method Summary | |
---|---|
static boolean | canCrissCross(int analysis) |
static boolean | canSkipSubtrees(int analysis) |
static void | diagnoseIterator(String name, int analysis, Compiler compiler) |
static int | getAnalysisBitFromAxes(int axis)
Get a corresponding BIT_XXX from an axis. |
static String | getAnalysisString(int analysis) |
static int | getAxisFromStep(Compiler compiler, int stepOpCodePos)
Special purpose function to see if we can optimize the pattern for
a DescendantIterator.
|
static int | getStepCount(int analysis) |
static boolean | hasPredicate(int analysis) |
static boolean | isAbsolute(int analysis) |
static boolean | isDownwardAxisOfMany(int axis)
Tell if the given axis goes downword. |
static boolean | isNaturalDocOrder(int analysis)
Tell if the pattern can be 'walked' with the iteration steps in natural
document order, without duplicates.
|
static boolean | isOneStep(int analysis) |
static boolean | isSet(int analysis, int bits) |
static boolean | isWild(int analysis) |
static boolean | mightBeProximate(Compiler compiler, int opPos, int stepType)
Tell if the predicates need to have proximity knowledge. |
static DTMIterator | newDTMIterator(Compiler compiler, int opPos, boolean isTopLevel)
Create a new LocPathIterator iterator. |
static boolean | walksAncestors(int analysis) |
static boolean | walksAttributes(int analysis) |
static boolean | walksChildren(int analysis) |
static boolean | walksChildrenAndExtraAndSelfOnly(int analysis) |
static boolean | walksChildrenOnly(int analysis) |
static boolean | walksDescendants(int analysis) |
static boolean | walksDescendantsAndExtraAndSelfOnly(int analysis) |
static boolean | walksDownExtraOnly(int analysis) |
static boolean | walksDownOnly(int analysis) |
static boolean | walksExtraNodes(int analysis) |
static boolean | walksExtraNodesOnly(int analysis) |
static boolean | walksFilteredList(int analysis) |
static boolean | walksFollowingOnlyMaybeAbsolute(int analysis) |
static boolean | walksInDocOrder(int analysis) |
static boolean | walksNamespaces(int analysis) |
static boolean | walksSelfOnly(int analysis) |
static boolean | walksSideways(int analysis) |
static boolean | walksSubtree(int analysis) |
static boolean | walksSubtreeOnly(int analysis) |
static boolean | walksSubtreeOnlyFromRootOrContext(int analysis) |
static boolean | walksSubtreeOnlyMaybeAbsolute(int analysis) |
static boolean | walksUp(int analysis) |
static boolean | walksUpOnly(int analysis) |
Parameters: axis One of Axis.ANCESTOR, etc.
Returns: One of BIT_ANCESTOR, etc.
Parameters: compiler non-null reference to compiler object that has processed the XPath operations into an opcode map. stepOpCodePos The opcode position for the step.
Returns: 32 bits as an integer that give information about the location path as a whole.
Throws: javax.xml.transform.TransformerException
Parameters: axis One of Axis.XXX.
Returns: true if the axis is not a child axis and does not go up from the axis root.
Parameters: analysis The general analysis of the pattern.
Returns: true if the walk can be done in natural order.
Throws: javax.xml.transform.TransformerException
Parameters: compiler non-null reference to compiler object that has processed the XPath operations into an opcode map. opPos The position of the operation code for this itterator.
Returns: non-null reference to a LocPathIterator or derivative.
Throws: javax.xml.transform.TransformerException