|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
The Compiler APIs are completely agnostic to the actual types of objects produced and consumed by the APIs. Arguments and return values are declared as java.lang.Object.
Since objects returned by Compiler methods are passed as arguments to other Compiler methods, the descriptions of these methods use virtual types. There are four virtual object types: EXPRESSION, QNAME, STEP and NODE_TEST.
The following example illustrates this notion. This sequence compiles the xpath "foo[round(1 div 2)]/text()":
Object qname1 = compiler.qname(null, "foo") Object expr1 = compiler.number("1"); Object expr2 = compiler.number("2"); Object expr3 = compiler.div(expr1, expr2); Object expr4 = compiler. coreFunction(Compiler.FUNCTION_ROUND, new Object[]{expr3}); Object test1 = compiler.nodeNameTest(qname1); Object step1 = compiler. step(Compiler.AXIS_CHILD, test1, new Object[]{expr4}); Object test2 = compiler.nodeTypeTest(Compiler.NODE_TYPE_TEXT); Object step2 = compiler.nodeTypeTest(Compiler.AXIS_CHILD, test2, null); Object expr5 = compiler.locationPath(false, new Object[]{step1, step2});
Method Summary | |
java.lang.Object |
and(java.lang.Object[] arguments)
Produces an EXPRESSION object representing logical conjunction of all arguments |
java.lang.Object |
divide(java.lang.Object left,
java.lang.Object right)
Produces an EXPRESSION object representing left divided by right |
java.lang.Object |
equal(java.lang.Object left,
java.lang.Object right)
Produces an EXPRESSION object representing the comparison: left equals to right |
java.lang.Object |
expressionPath(java.lang.Object expression,
java.lang.Object[] predicates,
java.lang.Object[] steps)
Produces an EXPRESSION object representing a filter expression |
java.lang.Object |
function(int code,
java.lang.Object[] args)
Produces an EXPRESSION object representing the computation of a core function with the supplied arguments. |
java.lang.Object |
function(java.lang.Object name,
java.lang.Object[] args)
Produces an EXPRESSION object representing the computation of a library function with the supplied arguments. |
java.lang.Object |
greaterThan(java.lang.Object left,
java.lang.Object right)
Produces an EXPRESSION object representing the comparison: left greater than right |
java.lang.Object |
greaterThanOrEqual(java.lang.Object left,
java.lang.Object right)
Produces an EXPRESSION object representing the comparison: left greater than or equal to right |
java.lang.Object |
lessThan(java.lang.Object left,
java.lang.Object right)
Produces an EXPRESSION object representing the comparison: left less than right |
java.lang.Object |
lessThanOrEqual(java.lang.Object left,
java.lang.Object right)
Produces an EXPRESSION object representing the comparison: left less than or equal to right |
java.lang.Object |
literal(java.lang.String value)
Produces an EXPRESSION object that represents a string constant. |
java.lang.Object |
locationPath(boolean absolute,
java.lang.Object[] steps)
Produces an EXPRESSION object representing a location path |
java.lang.Object |
minus(java.lang.Object argument)
Produces an EXPRESSION object representing unary negation of the argument |
java.lang.Object |
minus(java.lang.Object left,
java.lang.Object right)
Produces an EXPRESSION object representing left minus right |
java.lang.Object |
mod(java.lang.Object left,
java.lang.Object right)
Produces an EXPRESSION object representing left modulo right |
java.lang.Object |
multiply(java.lang.Object left,
java.lang.Object right)
Produces an EXPRESSION object representing left multiplied by right |
java.lang.Object |
nodeNameTest(java.lang.Object qname)
Produces a NODE_TEST object that represents a node name test. |
java.lang.Object |
nodeTypeTest(int nodeType)
Produces a NODE_TEST object that represents a node type test. |
java.lang.Object |
notEqual(java.lang.Object left,
java.lang.Object right)
Produces an EXPRESSION object representing the comparison: left is not equal to right |
java.lang.Object |
number(java.lang.String value)
Produces an EXPRESSION object that represents a numeric constant. |
java.lang.Object |
or(java.lang.Object[] arguments)
Produces an EXPRESSION object representing logical disjunction of all arguments |
java.lang.Object |
processingInstructionTest(java.lang.String instruction)
Produces a NODE_TEST object that represents a processing instruction test. |
java.lang.Object |
qname(java.lang.String prefix,
java.lang.String name)
Produces an QNAME that represents a name with an optional prefix. |
java.lang.Object |
step(int axis,
java.lang.Object nodeTest,
java.lang.Object[] predicates)
Produces a STEP object that represents a node test. |
java.lang.Object |
sum(java.lang.Object[] arguments)
Produces an EXPRESSION object representing the sum of all argumens |
java.lang.Object |
union(java.lang.Object[] arguments)
Produces an EXPRESSION object representing union of all node sets |
java.lang.Object |
variableReference(java.lang.Object qName)
Produces an EXPRESSION object representing variable reference |
Field Detail |
public static final int NODE_TYPE_NODE
public static final int NODE_TYPE_TEXT
public static final int NODE_TYPE_COMMENT
public static final int NODE_TYPE_PI
public static final int AXIS_SELF
public static final int AXIS_CHILD
public static final int AXIS_PARENT
public static final int AXIS_ANCESTOR
public static final int AXIS_ATTRIBUTE
public static final int AXIS_NAMESPACE
public static final int AXIS_PRECEDING
public static final int AXIS_FOLLOWING
public static final int AXIS_DESCENDANT
public static final int AXIS_ANCESTOR_OR_SELF
public static final int AXIS_FOLLOWING_SIBLING
public static final int AXIS_PRECEDING_SIBLING
public static final int AXIS_DESCENDANT_OR_SELF
public static final int FUNCTION_LAST
public static final int FUNCTION_POSITION
public static final int FUNCTION_COUNT
public static final int FUNCTION_ID
public static final int FUNCTION_LOCAL_NAME
public static final int FUNCTION_NAMESPACE_URI
public static final int FUNCTION_NAME
public static final int FUNCTION_STRING
public static final int FUNCTION_CONCAT
public static final int FUNCTION_STARTS_WITH
public static final int FUNCTION_CONTAINS
public static final int FUNCTION_SUBSTRING_BEFORE
public static final int FUNCTION_SUBSTRING_AFTER
public static final int FUNCTION_SUBSTRING
public static final int FUNCTION_STRING_LENGTH
public static final int FUNCTION_NORMALIZE_SPACE
public static final int FUNCTION_TRANSLATE
public static final int FUNCTION_BOOLEAN
public static final int FUNCTION_NOT
public static final int FUNCTION_TRUE
public static final int FUNCTION_FALSE
public static final int FUNCTION_LANG
public static final int FUNCTION_NUMBER
public static final int FUNCTION_SUM
public static final int FUNCTION_FLOOR
public static final int FUNCTION_CEILING
public static final int FUNCTION_ROUND
public static final int FUNCTION_NULL
public static final int FUNCTION_KEY
public static final int FUNCTION_FORMAT_NUMBER
Method Detail |
public java.lang.Object number(java.lang.String value)
public java.lang.Object literal(java.lang.String value)
public java.lang.Object qname(java.lang.String prefix, java.lang.String name)
public java.lang.Object sum(java.lang.Object[] arguments)
arguments
- are EXPRESSION objectspublic java.lang.Object minus(java.lang.Object left, java.lang.Object right)
left
- is an EXPRESSION objectright
- is an EXPRESSION objectpublic java.lang.Object multiply(java.lang.Object left, java.lang.Object right)
left
- is an EXPRESSION objectright
- is an EXPRESSION objectpublic java.lang.Object divide(java.lang.Object left, java.lang.Object right)
left
- is an EXPRESSION objectright
- is an EXPRESSION objectpublic java.lang.Object mod(java.lang.Object left, java.lang.Object right)
left
- is an EXPRESSION objectright
- is an EXPRESSION objectpublic java.lang.Object lessThan(java.lang.Object left, java.lang.Object right)
left
- is an EXPRESSION objectright
- is an EXPRESSION objectpublic java.lang.Object lessThanOrEqual(java.lang.Object left, java.lang.Object right)
left
- is an EXPRESSION objectright
- is an EXPRESSION objectpublic java.lang.Object greaterThan(java.lang.Object left, java.lang.Object right)
left
- is an EXPRESSION objectright
- is an EXPRESSION objectpublic java.lang.Object greaterThanOrEqual(java.lang.Object left, java.lang.Object right)
left
- is an EXPRESSION objectright
- is an EXPRESSION objectpublic java.lang.Object equal(java.lang.Object left, java.lang.Object right)
left
- is an EXPRESSION objectright
- is an EXPRESSION objectpublic java.lang.Object notEqual(java.lang.Object left, java.lang.Object right)
left
- is an EXPRESSION objectright
- is an EXPRESSION objectpublic java.lang.Object minus(java.lang.Object argument)
argument
- is an EXPRESSION objectpublic java.lang.Object variableReference(java.lang.Object qName)
public java.lang.Object function(int code, java.lang.Object[] args)
code
- is one of FUNCTION_... constantsargs
- are EXPRESSION objectspublic java.lang.Object function(java.lang.Object name, java.lang.Object[] args)
name
- is a QNAME object (function name)args
- are EXPRESSION objectspublic java.lang.Object and(java.lang.Object[] arguments)
arguments
- are EXPRESSION objectspublic java.lang.Object or(java.lang.Object[] arguments)
arguments
- are EXPRESSION objectspublic java.lang.Object union(java.lang.Object[] arguments)
arguments
- are EXPRESSION objectspublic java.lang.Object nodeNameTest(java.lang.Object qname)
qname
- is a QNAME objectpublic java.lang.Object nodeTypeTest(int nodeType)
public java.lang.Object processingInstructionTest(java.lang.String instruction)
public java.lang.Object step(int axis, java.lang.Object nodeTest, java.lang.Object[] predicates)
axis
- is one of the AXIS_... constantsnodeTest
- is a NODE_TEST objectpredicates
- are EXPRESSION objectspublic java.lang.Object locationPath(boolean absolute, java.lang.Object[] steps)
absolute
- indicates whether the path is absolutesteps
- are STEP objectspublic java.lang.Object expressionPath(java.lang.Object expression, java.lang.Object[] predicates, java.lang.Object[] steps)
expression
- is an EXPRESSION objectpredicates
- are EXPRESSION objectssteps
- are STEP objects
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |