org.alfresco.repo.search
Class NodeServiceXPath

java.lang.Object
  extended by org.jaxen.BaseXPath
      extended by org.alfresco.repo.search.NodeServiceXPath
All Implemented Interfaces:
java.io.Serializable, org.jaxen.XPath

public class NodeServiceXPath
extends org.jaxen.BaseXPath

Represents an xpath statement that resolves against a NodeService

See Also:
Serialized Form

Nested Class Summary
static class NodeServiceXPath.FirstFunction
           
static class NodeServiceXPath.JCRPatternMatch
           
static class NodeServiceXPath.XPathFunctionContext
           
 
Constructor Summary
NodeServiceXPath(java.lang.String xpath, DocumentNavigator documentNavigator, org.alfresco.service.cmr.search.QueryParameterDefinition[] paramDefs)
           
 
Method Summary
protected  org.jaxen.FunctionContext createFunctionContext()
           
 java.util.List selectNodes(java.lang.Object arg0)
          Jaxen has some magic with its IdentitySet, which means that we can get different results depending on whether we cache ChildAssociationRef instances or not.
 
Methods inherited from class org.jaxen.BaseXPath
addNamespace, booleanValueOf, createNamespaceContext, createVariableContext, debug, evaluate, getContext, getContextSupport, getFunctionContext, getNamespaceContext, getNavigator, getRootExpr, getVariableContext, numberValueOf, selectNodesForContext, selectSingleNode, selectSingleNodeForContext, setFunctionContext, setNamespaceContext, setVariableContext, stringValueOf, toString, valueOf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NodeServiceXPath

public NodeServiceXPath(java.lang.String xpath,
                        DocumentNavigator documentNavigator,
                        org.alfresco.service.cmr.search.QueryParameterDefinition[] paramDefs)
                 throws org.jaxen.JaxenException
Parameters:
xpath - the xpath statement
documentNavigator - the navigator that will allow the xpath to be resolved
paramDefs - parameters to resolve variables required by xpath
Throws:
org.jaxen.JaxenException
Method Detail

selectNodes

public java.util.List selectNodes(java.lang.Object arg0)
                           throws org.jaxen.JaxenException
Jaxen has some magic with its IdentitySet, which means that we can get different results depending on whether we cache ChildAssociationRef instances or not.

So, duplicates are eliminated here before the results are returned.

Specified by:
selectNodes in interface org.jaxen.XPath
Overrides:
selectNodes in class org.jaxen.BaseXPath
Throws:
org.jaxen.JaxenException

createFunctionContext

protected org.jaxen.FunctionContext createFunctionContext()
Overrides:
createFunctionContext in class org.jaxen.BaseXPath


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.