| java.lang.Object org.apache.xpath.compiler.OpMap
All known Subclasses: org.apache.xpath.compiler.Compiler,
OpMap | public class OpMap (Code) | | This class represents the data structure basics of the XPath
object.
|
Method Summary | |
public void | error(String msg, Object[] args) Tell the user of an error, and probably throw an
exception. | public int | getArgLength(int opPos) Get the length of an operation.
Parameters: opPos - The position of the operation in the op map. | public int | getArgLengthOfStep(int opPos) Given a location step, get the length of that step.
Parameters: opPos - Position of location step in op map. | public static int | getFirstChildPos(int opPos) Go to the first child of a given operation.
Parameters: opPos - position of operation. | 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. | public int | getFirstPredicateOpPos(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.
Example:
int posOfPredicate = xpath.getNextOpPos(stepPos);
boolean hasPredicates =
OpCodes.OP_PREDICATE == xpath.getOp(posOfPredicate);
Parameters: opPos - position of FROM_stepType op. | public int | getNextOpPos(int opPos) Given an operation position, return the end position, i.e. | public static int | getNextOpPos(int[] opMap, int opPos) Given an operation position, return the end position, i.e. | public int | getNextStepPos(int opPos) Given a location step position, return the end position, i.e. | public int | getOp(int opPos) Given an operation position, return the current op.
Parameters: opPos - index into op map. | public OpMapVector | getOpMap() Get the opcode list that describes the XPath operations. | public String | getPatternString() Return the expression as a string for diagnostics. | public String | getStepLocalName(int opPosOfStep) Get the local name of the step.
Parameters: opPosOfStep - The position of the FROM_XXX step. | public String | getStepNS(int opPosOfStep) Get the namespace of the step.
Parameters: opPosOfStep - The position of the FROM_XXX step. | public int | getStepTestType(int opPosOfStep) Get the test type of the step, i.e. | public Object | getToken(int pos) Get the XPath as a list of tokens.
Parameters: pos - index into token queue. | public ObjectVector | getTokenQueue() Get the XPath as a list of tokens. | public int | getTokenQueueSize() Get size of the token queue. | public void | setOp(int opPos, int value) Set the op at index to the given int. | void | shrink() Replace the large arrays
with a small array. | public String | toString() Return the expression as a string for diagnostics. |
BLOCKTOKENQUEUESIZE | final static int BLOCKTOKENQUEUESIZE(Code) | | |
MAPINDEX_LENGTH | final public static int MAPINDEX_LENGTH(Code) | | The length is always the opcode position + 1.
Length is always expressed as the opcode+length bytes,
so it is always 2 or greater.
|
MAXTOKENQUEUESIZE | final static int MAXTOKENQUEUESIZE(Code) | | The starting size of the token queue.
|
m_currentPattern | protected String m_currentPattern(Code) | | The current pattern string, for diagnostics purposes
|
m_opMap | OpMapVector m_opMap(Code) | | An operations map is used instead of a proper parse tree. It contains
operations codes and indexes into the m_tokenQueue.
I use an array instead of a full parse tree in order to cut down
on the number of objects created.
|
m_tokenQueue | ObjectVector m_tokenQueue(Code) | | TokenStack is the queue of used tokens. The current token is the token at the
end of the m_tokenQueue. The idea is that the queue can be marked and a sequence
of tokens can be reused.
|
error | public void error(String msg, Object[] args) throws javax.xml.transform.TransformerException(Code) | | Tell the user of an error, and probably throw an
exception.
Parameters: msg - An error msgkey that corresponds to one of the constants found in org.apache.xpath.res.XPATHErrorResources, which is a key for a format string. Parameters: 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. |
getArgLength | public int getArgLength(int opPos)(Code) | | Get the length of an operation.
Parameters: opPos - The position of the operation in the op map. The size of the operation. |
getArgLengthOfStep | public int getArgLengthOfStep(int opPos)(Code) | | Given a location step, get the length of that step.
Parameters: opPos - Position of location step in op map. The length of the step. |
getFirstChildPos | public static int getFirstChildPos(int opPos)(Code) | | Go to the first child of a given operation.
Parameters: opPos - position of operation. The position of the first child of the operation. |
getFirstChildPosOfStep | public static int getFirstChildPosOfStep(int opPos)(Code) | | Get the first child position of a given location step.
Parameters: opPos - Position of location step in the location map. The first child position of the step. |
getFirstPredicateOpPos | public int getFirstPredicateOpPos(int opPos) throws javax.xml.transform.TransformerException(Code) | | 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. position of predicate in FROM_stepType structure. |
getNextOpPos | public int getNextOpPos(int opPos)(Code) | | 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. position of next operation in m_opMap. |
getNextOpPos | public static int getNextOpPos(int[] opMap, int opPos)(Code) | | Given an operation position, return the end position, i.e. the
beginning of the next operation.
Parameters: opMap - The operations map. Parameters: opPos - index to operation, for which there is a size entry following. position of next operation in m_opMap. |
getNextStepPos | public int getNextStepPos(int opPos)(Code) | | 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. the position of the next location step. |
getOp | public int getOp(int opPos)(Code) | | Given an operation position, return the current op.
Parameters: opPos - index into op map. the op that corresponds to the opPos argument. |
getOpMap | public OpMapVector getOpMap()(Code) | | Get the opcode list that describes the XPath operations. It contains
operations codes and indexes into the m_tokenQueue.
I use an array instead of a full parse tree in order to cut down
on the number of objects created.
An IntVector that is the opcode list that describes the XPath operations. |
getPatternString | public String getPatternString()(Code) | | Return the expression as a string for diagnostics.
The expression string. |
getStepLocalName | public String getStepLocalName(int opPosOfStep)(Code) | | Get the local name of the step.
Parameters: opPosOfStep - The position of the FROM_XXX step. OpCodes.EMPTY, OpCodes.ELEMWILDCARD, or the local name. |
getStepNS | public String getStepNS(int opPosOfStep)(Code) | | Get the namespace of the step.
Parameters: opPosOfStep - The position of the FROM_XXX step. The step's namespace, NodeTest.WILD, or null for null namespace. |
getStepTestType | public int getStepTestType(int opPosOfStep)(Code) | | Get the test type of the step, i.e. NODETYPE_XXX value.
Parameters: opPosOfStep - The position of the FROM_XXX step. NODETYPE_XXX value. |
getToken | public Object getToken(int pos)(Code) | | Get the XPath as a list of tokens.
Parameters: pos - index into token queue. The token, normally a string. |
getTokenQueue | public ObjectVector getTokenQueue()(Code) | | Get the XPath as a list of tokens.
ObjectVector of tokens. |
getTokenQueueSize | public int getTokenQueueSize()(Code) | | Get size of the token queue.
The size of the token queue. |
setOp | public void setOp(int opPos, int value)(Code) | | Set the op at index to the given int.
Parameters: opPos - index into op map. Parameters: value - Value to set |
shrink | void shrink()(Code) | | Replace the large arrays
with a small array.
|
toString | public String toString()(Code) | | Return the expression as a string for diagnostics.
The expression string. |
|
|