Class OpMap
java.lang.Object
org.loboevolution.apache.xpath.compiler.OpMap
- Direct Known Subclasses:
Compiler
This class represents the data structure basics of the XPath object.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected StringThe current pattern string, for diagnostics purposesstatic final intThe length is always the opcode position + 1. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidTell the user of an error, and probably throw an exception.intgetArgLengthOfStep(int opPos) Given a location step, get the length of that step.static intgetFirstChildPos(int opPos) Go to the first child of a given operation.static intgetFirstChildPosOfStep(int opPos) Get the first child position of a given location step.intgetFirstPredicateOpPos(int opPos) Given an FROM_stepType position, return the position of the first predicate, if there is one, or else this will point to the end of the FROM_stepType.intgetNextOpPos(int opPos) Given an operation position, return the end position, i.e. the beginning of the next operation.intgetNextStepPos(int opPos) Given a location step position, return the end position, i.e. the beginning of the next step.intgetOp(int opPos) Given an operation position, return the current op.Return the expression as a string for diagnostics.getStepLocalName(int opPosOfStep) Get the local name of the step.getStepNS(int opPosOfStep) Get the namespace of the step.intgetStepTestType(int opPosOfStep) Get the test type of the step, i.e.Get the XPath as a list of tokens.intGet size of the token queue.voidsetOp(int opPos, int value) Set the op at index to the given int.toString()
-
Field Details
-
m_currentPattern
The current pattern string, for diagnostics purposes -
MAPINDEX_LENGTH
public static final int MAPINDEX_LENGTHThe length is always the opcode position + 1. Length is always expressed as the opcode+length bytes, so it is always 2 or greater.- See Also:
-
-
Constructor Details
-
OpMap
public OpMap()
-
-
Method Details
-
toString
-
getPatternString
Return the expression as a string for diagnostics.- Returns:
- The expression string.
-
getTokenQueue
Get the XPath as a list of tokens.- Returns:
- ObjectVector of tokens.
-
getTokenQueueSize
public int getTokenQueueSize()Get size of the token queue.- Returns:
- The size of the token queue.
-
getOp
public int getOp(int opPos) Given an operation position, return the current op.- Parameters:
opPos- index into op map.- Returns:
- the op that corresponds to the opPos argument.
-
setOp
public void setOp(int opPos, int value) Set the op at index to the given int.- Parameters:
opPos- index into op map.value- Value to set
-
getNextOpPos
public int getNextOpPos(int opPos) Given an operation position, return the end position, i.e. the beginning of the next operation.- Parameters:
opPos- An op position of an operation for which there is a size entry following.- Returns:
- position of next operation in m_opMap.
-
getNextStepPos
public int getNextStepPos(int opPos) Given a location step position, return the end position, i.e. the beginning of the next step.- Parameters:
opPos- the position of a location step.- Returns:
- the position of the next location step.
-
getFirstPredicateOpPos
Given an FROM_stepType position, return the position of the first predicate, if there is one, or else this will point to the end of the FROM_stepType. Example: int posOfPredicate = xpath.getNextOpPos(stepPos); boolean hasPredicates = OpCodes.OP_PREDICATE == xpath.getOp(posOfPredicate);- Parameters:
opPos- position of FROM_stepType op.- Returns:
- position of predicate in FROM_stepType structure.
- Throws:
TransformerException- if a error occurs creating the Expression.
-
error
Tell the user of an error, and probably throw an exception.- Parameters:
msg- An error msgkey that corresponds to one of the constants found inXPATHErrorResources, which is a key for a format string.args- An array of arguments represented in the format string, which may be null.- Throws:
TransformerException- if the current ErrorListoner determines to throw an exception.
-
getFirstChildPos
public static int getFirstChildPos(int opPos) Go to the first child of a given operation.- Parameters:
opPos- position of operation.- Returns:
- The position of the first child of the operation.
-
getArgLengthOfStep
public int getArgLengthOfStep(int opPos) Given a location step, get the length of that step.- Parameters:
opPos- Position of location step in op map.- Returns:
- The length of the step.
-
getFirstChildPosOfStep
public static int getFirstChildPosOfStep(int opPos) Get the first child position of a given location step.- Parameters:
opPos- Position of location step in the location map.- Returns:
- The first child position of the step.
-
getStepTestType
public int getStepTestType(int opPosOfStep) Get the test type of the step, i.e. NODETYPE_XXX value.- Parameters:
opPosOfStep- The position of the FROM_XXX step.- Returns:
- NODETYPE_XXX value.
-
getStepNS
Get the namespace of the step.- Parameters:
opPosOfStep- The position of the FROM_XXX step.- Returns:
- The step's namespace, NodeTest.WILD, or null for null namespace.
-
getStepLocalName
Get the local name of the step.- Parameters:
opPosOfStep- The position of the FROM_XXX step.- Returns:
- OpCodes.EMPTY, OpCodes.ELEMWILDCARD, or the local name.
-