org.apache.chemistry.opencmis.jcr.query
Class EvaluatorXPath

java.lang.Object
  extended by org.apache.chemistry.opencmis.jcr.query.EvaluatorBase<XPathBuilder>
      extended by org.apache.chemistry.opencmis.jcr.query.EvaluatorXPath
All Implemented Interfaces:
Evaluator<XPathBuilder>

public class EvaluatorXPath
extends EvaluatorBase<XPathBuilder>

This implementation of Evaluator results in an instance of a XPathBuilder which can be used to validated the where clause of the original CMIS query and translate it to a corresponding (i.e. semantically equal) XPath condition.


Constructor Summary
EvaluatorXPath()
           
 
Method Summary
 XPathBuilder and(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.AND nodes
 XPathBuilder col(String name)
          Handle CmisQlStrictLexer.COL nodes
 XPathBuilder contains(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.CONTAINS nodes
 XPathBuilder eq(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.EQ nodes
 XPathBuilder eqAny(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.EQ_ANY nodes
 XPathBuilder gt(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.GT nodes
 XPathBuilder gteq(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.GTEQ nodes
 XPathBuilder in(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.IN nodes
 XPathBuilder inAny(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.IN_ANY nodes
 XPathBuilder inFolder(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.IN_FOLDER nodes
 XPathBuilder inTree(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.IN_TREE nodes
 XPathBuilder isNull(XPathBuilder op)
          Handle CmisQlStrictLexer.IS_NULL nodes
protected  String jcrPathFromCol(String name)
          Resolve from a column name in the query to the corresponding relative JCR path.
protected  String jcrPathFromId(String id)
          Resolve from a CMIS object id to the corresponding absolute JCR path.
 XPathBuilder like(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.LIKE nodes
 XPathBuilder list(List<XPathBuilder> ops)
          Handle CmisQlStrictLexer.IN_LIST nodes
 XPathBuilder lt(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.LT nodes
 XPathBuilder lteq(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.LTEQ nodes
 XPathBuilder neq(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.NEQ nodes
 XPathBuilder not(XPathBuilder op)
          Handle CmisQlStrictLexer.NOT nodes
 XPathBuilder notIn(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.NOT_IN nodes
 XPathBuilder notInAny(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.NOT_IN_ANY nodes
 XPathBuilder notIsNull(XPathBuilder op)
          Handle CmisQlStrictLexer.IS_NOT_NULL nodes
 XPathBuilder notLike(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.NOT_LIKE nodes
 Evaluator<XPathBuilder> op()
          Create a new instance of this Evaluator.
 XPathBuilder or(XPathBuilder op1, XPathBuilder op2)
          Handle CmisQlStrictLexer.OR nodes
 XPathBuilder value(boolean value)
          Handle CmisQlStrictLexer.BOOL_LIT nodes
 XPathBuilder value(double value)
          Handle CmisQlStrictLexer.NUM_LIT nodes
 XPathBuilder value(GregorianCalendar value)
          Handle CmisQlStrictLexer.TIME_LIT nodes
 XPathBuilder value(long value)
          Handle CmisQlStrictLexer.NUM_LIT nodes
 XPathBuilder value(String value)
          Handle CmisQlStrictLexer.STRING_LIT nodes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EvaluatorXPath

public EvaluatorXPath()
Method Detail

op

public Evaluator<XPathBuilder> op()
Description copied from interface: Evaluator
Create a new instance of this Evaluator.

Specified by:
op in interface Evaluator<XPathBuilder>
Overrides:
op in class EvaluatorBase<XPathBuilder>

not

public XPathBuilder not(XPathBuilder op)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.NOT nodes

Specified by:
not in interface Evaluator<XPathBuilder>
Overrides:
not in class EvaluatorBase<XPathBuilder>

and

public XPathBuilder and(XPathBuilder op1,
                        XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.AND nodes

Specified by:
and in interface Evaluator<XPathBuilder>
Overrides:
and in class EvaluatorBase<XPathBuilder>

or

public XPathBuilder or(XPathBuilder op1,
                       XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.OR nodes

Specified by:
or in interface Evaluator<XPathBuilder>
Overrides:
or in class EvaluatorBase<XPathBuilder>

eq

public XPathBuilder eq(XPathBuilder op1,
                       XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.EQ nodes

Specified by:
eq in interface Evaluator<XPathBuilder>
Overrides:
eq in class EvaluatorBase<XPathBuilder>

neq

public XPathBuilder neq(XPathBuilder op1,
                        XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.NEQ nodes

Specified by:
neq in interface Evaluator<XPathBuilder>
Overrides:
neq in class EvaluatorBase<XPathBuilder>

gt

public XPathBuilder gt(XPathBuilder op1,
                       XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.GT nodes

Specified by:
gt in interface Evaluator<XPathBuilder>
Overrides:
gt in class EvaluatorBase<XPathBuilder>

gteq

public XPathBuilder gteq(XPathBuilder op1,
                         XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.GTEQ nodes

Specified by:
gteq in interface Evaluator<XPathBuilder>
Overrides:
gteq in class EvaluatorBase<XPathBuilder>

lt

public XPathBuilder lt(XPathBuilder op1,
                       XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.LT nodes

Specified by:
lt in interface Evaluator<XPathBuilder>
Overrides:
lt in class EvaluatorBase<XPathBuilder>

lteq

public XPathBuilder lteq(XPathBuilder op1,
                         XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.LTEQ nodes

Specified by:
lteq in interface Evaluator<XPathBuilder>
Overrides:
lteq in class EvaluatorBase<XPathBuilder>

in

public XPathBuilder in(XPathBuilder op1,
                       XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.IN nodes

Specified by:
in in interface Evaluator<XPathBuilder>
Overrides:
in in class EvaluatorBase<XPathBuilder>

notIn

public XPathBuilder notIn(XPathBuilder op1,
                          XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.NOT_IN nodes

Specified by:
notIn in interface Evaluator<XPathBuilder>
Overrides:
notIn in class EvaluatorBase<XPathBuilder>

inAny

public XPathBuilder inAny(XPathBuilder op1,
                          XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.IN_ANY nodes

Specified by:
inAny in interface Evaluator<XPathBuilder>
Overrides:
inAny in class EvaluatorBase<XPathBuilder>

notInAny

public XPathBuilder notInAny(XPathBuilder op1,
                             XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.NOT_IN_ANY nodes

Specified by:
notInAny in interface Evaluator<XPathBuilder>
Overrides:
notInAny in class EvaluatorBase<XPathBuilder>

eqAny

public XPathBuilder eqAny(XPathBuilder op1,
                          XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.EQ_ANY nodes

Specified by:
eqAny in interface Evaluator<XPathBuilder>
Overrides:
eqAny in class EvaluatorBase<XPathBuilder>

isNull

public XPathBuilder isNull(XPathBuilder op)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.IS_NULL nodes

Specified by:
isNull in interface Evaluator<XPathBuilder>
Overrides:
isNull in class EvaluatorBase<XPathBuilder>

notIsNull

public XPathBuilder notIsNull(XPathBuilder op)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.IS_NOT_NULL nodes

Specified by:
notIsNull in interface Evaluator<XPathBuilder>
Overrides:
notIsNull in class EvaluatorBase<XPathBuilder>

like

public XPathBuilder like(XPathBuilder op1,
                         XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.LIKE nodes

Specified by:
like in interface Evaluator<XPathBuilder>
Overrides:
like in class EvaluatorBase<XPathBuilder>

notLike

public XPathBuilder notLike(XPathBuilder op1,
                            XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.NOT_LIKE nodes

Specified by:
notLike in interface Evaluator<XPathBuilder>
Overrides:
notLike in class EvaluatorBase<XPathBuilder>

contains

public XPathBuilder contains(XPathBuilder op1,
                             XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.CONTAINS nodes

Specified by:
contains in interface Evaluator<XPathBuilder>
Overrides:
contains in class EvaluatorBase<XPathBuilder>

inFolder

public XPathBuilder inFolder(XPathBuilder op1,
                             XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.IN_FOLDER nodes

Specified by:
inFolder in interface Evaluator<XPathBuilder>
Overrides:
inFolder in class EvaluatorBase<XPathBuilder>

inTree

public XPathBuilder inTree(XPathBuilder op1,
                           XPathBuilder op2)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.IN_TREE nodes

Specified by:
inTree in interface Evaluator<XPathBuilder>
Overrides:
inTree in class EvaluatorBase<XPathBuilder>

list

public XPathBuilder list(List<XPathBuilder> ops)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.IN_LIST nodes

Specified by:
list in interface Evaluator<XPathBuilder>
Overrides:
list in class EvaluatorBase<XPathBuilder>

value

public XPathBuilder value(boolean value)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.BOOL_LIT nodes

Specified by:
value in interface Evaluator<XPathBuilder>
Overrides:
value in class EvaluatorBase<XPathBuilder>

value

public XPathBuilder value(double value)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.NUM_LIT nodes

Specified by:
value in interface Evaluator<XPathBuilder>
Overrides:
value in class EvaluatorBase<XPathBuilder>

value

public XPathBuilder value(long value)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.NUM_LIT nodes

Specified by:
value in interface Evaluator<XPathBuilder>
Overrides:
value in class EvaluatorBase<XPathBuilder>

value

public XPathBuilder value(String value)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.STRING_LIT nodes

Specified by:
value in interface Evaluator<XPathBuilder>
Overrides:
value in class EvaluatorBase<XPathBuilder>

value

public XPathBuilder value(GregorianCalendar value)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.TIME_LIT nodes

Specified by:
value in interface Evaluator<XPathBuilder>
Overrides:
value in class EvaluatorBase<XPathBuilder>

col

public XPathBuilder col(String name)
Description copied from interface: Evaluator
Handle CmisQlStrictLexer.COL nodes

Specified by:
col in interface Evaluator<XPathBuilder>
Overrides:
col in class EvaluatorBase<XPathBuilder>

jcrPathFromId

protected String jcrPathFromId(String id)
Resolve from a CMIS object id to the corresponding absolute JCR path. This default implementations simply returns id.


jcrPathFromCol

protected String jcrPathFromCol(String name)
Resolve from a column name in the query to the corresponding relative JCR path. The path must be relative to the context node. This default implementations simply returns name.



Copyright © 2009-2011 The Apache Software Foundation. All Rights Reserved.