Package org.alfresco.repo.search
Class DocumentNavigator
- java.lang.Object
-
- org.jaxen.DefaultNavigator
-
- org.alfresco.repo.search.DocumentNavigator
-
- All Implemented Interfaces:
java.io.Serializable,org.jaxen.NamedAccessNavigator,org.jaxen.Navigator
public class DocumentNavigator extends org.jaxen.DefaultNavigator implements org.jaxen.NamedAccessNavigatorAn implementation of the Jaxen xpath against the node service API This means any node service can do xpath style navigation. Given any context node we can navigate between nodes using xpath. This allows simple path navigation and much more.- Author:
- Andy Hind
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classDocumentNavigator.NamespaceclassDocumentNavigator.Property
-
Constructor Summary
Constructors Constructor Description DocumentNavigator(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.cmr.repository.NodeService nodeService, org.alfresco.service.cmr.search.SearchService searchService, org.alfresco.service.namespace.NamespacePrefixResolver nspr, boolean followAllParentLinks)DocumentNavigator(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.cmr.repository.NodeService nodeService, org.alfresco.service.cmr.search.SearchService searchService, org.alfresco.service.namespace.NamespacePrefixResolver nspr, boolean followAllParentLinks, boolean useJCRRootNode)Deprecated.useJCRRootNode parameter is now obsolete.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Booleancontains(org.alfresco.service.cmr.repository.NodeRef childRef, org.alfresco.service.namespace.QName qname, java.lang.String sqlLikePattern, org.alfresco.service.cmr.search.SearchParameters.Operator defaultOperator)java.util.IteratorgetAttributeAxisIterator(java.lang.Object o)java.util.IteratorgetAttributeAxisIterator(java.lang.Object contextNode, java.lang.String localName, java.lang.String namespacePrefix, java.lang.String namespaceURI)java.lang.StringgetAttributeName(java.lang.Object o)java.lang.StringgetAttributeNamespaceUri(java.lang.Object o)java.lang.StringgetAttributeQName(java.lang.Object o)java.lang.StringgetAttributeStringValue(java.lang.Object o)java.util.IteratorgetChildAxisIterator(java.lang.Object o)java.util.IteratorgetChildAxisIterator(java.lang.Object contextNode, java.lang.String localName, java.lang.String namespacePrefix, java.lang.String namespaceURI)java.lang.StringgetCommentStringValue(java.lang.Object o)java.lang.ObjectgetDocumentNode(java.lang.Object o)java.lang.StringgetElementName(java.lang.Object o)java.lang.StringgetElementNamespaceUri(java.lang.Object o)java.lang.StringgetElementQName(java.lang.Object o)java.lang.StringgetElementStringValue(java.lang.Object o)java.util.IteratorgetFollowingAxisIterator(java.lang.Object arg0)java.util.IteratorgetFollowingSiblingAxisIterator(java.lang.Object arg0)java.util.IteratorgetNamespaceAxisIterator(java.lang.Object o)java.lang.StringgetNamespacePrefix(java.lang.Object o)org.alfresco.service.namespace.NamespacePrefixResolvergetNamespacePrefixResolver()java.lang.StringgetNamespaceStringValue(java.lang.Object o)java.lang.ObjectgetNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)java.util.List<org.alfresco.service.cmr.repository.ChildAssociationRef>getNode(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QNamePattern qNamePattern)java.util.IteratorgetParentAxisIterator(java.lang.Object o)java.util.IteratorgetPrecedingAxisIterator(java.lang.Object arg0)java.util.IteratorgetPrecedingSiblingAxisIterator(java.lang.Object arg0)java.lang.StringgetTextStringValue(java.lang.Object o)java.lang.BooleanhasAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName typeQName)booleanisAttribute(java.lang.Object o)booleanisComment(java.lang.Object o)booleanisDocument(java.lang.Object o)booleanisElement(java.lang.Object o)booleanisNamespace(java.lang.Object o)booleanisProcessingInstruction(java.lang.Object o)java.lang.BooleanisSubtypeOf(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName typeQName)booleanisText(java.lang.Object o)java.lang.Booleanlike(org.alfresco.service.cmr.repository.NodeRef childRef, org.alfresco.service.namespace.QName qname, java.lang.String sqlLikePattern, boolean includeFTS)org.jaxen.XPathparseXPath(java.lang.String o)voidsetFollowAllParentLinks(boolean followAllParentLinks)Allow this to be set as it commonly changes from one search to the next-
Methods inherited from class org.jaxen.DefaultNavigator
getAncestorAxisIterator, getAncestorOrSelfAxisIterator, getDescendantAxisIterator, getDescendantOrSelfAxisIterator, getDocument, getElementById, getNodeType, getParentNode, getProcessingInstructionData, getProcessingInstructionTarget, getSelfAxisIterator, translateNamespacePrefixToUri
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jaxen.Navigator
getAncestorAxisIterator, getAncestorOrSelfAxisIterator, getDescendantAxisIterator, getDescendantOrSelfAxisIterator, getDocument, getElementById, getNodeType, getParentNode, getProcessingInstructionData, getProcessingInstructionTarget, getSelfAxisIterator, translateNamespacePrefixToUri
-
-
-
-
Constructor Detail
-
DocumentNavigator
public DocumentNavigator(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.cmr.repository.NodeService nodeService, org.alfresco.service.cmr.search.SearchService searchService, org.alfresco.service.namespace.NamespacePrefixResolver nspr, boolean followAllParentLinks, boolean useJCRRootNode)Deprecated.useJCRRootNode parameter is now obsolete.
-
DocumentNavigator
public DocumentNavigator(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.cmr.repository.NodeService nodeService, org.alfresco.service.cmr.search.SearchService searchService, org.alfresco.service.namespace.NamespacePrefixResolver nspr, boolean followAllParentLinks)- Parameters:
dictionaryService- used to resolve the subtypeOf function and other type-related functionsnodeService- the NodeService against which to executesearchService- the service that helps resolve functions such as like and containsnspr- resolves namespaces in the xpathfollowAllParentLinks- true if the XPath should traverse all parent associations when going up the hierarchy; false if the only the primary parent-child association should be traversed
-
-
Method Detail
-
getNamespacePrefixResolver
public org.alfresco.service.namespace.NamespacePrefixResolver getNamespacePrefixResolver()
-
setFollowAllParentLinks
public void setFollowAllParentLinks(boolean followAllParentLinks)
Allow this to be set as it commonly changes from one search to the next- Parameters:
followAllParentLinks- true
-
getAttributeName
public java.lang.String getAttributeName(java.lang.Object o)
- Specified by:
getAttributeNamein interfaceorg.jaxen.Navigator
-
getAttributeNamespaceUri
public java.lang.String getAttributeNamespaceUri(java.lang.Object o)
- Specified by:
getAttributeNamespaceUriin interfaceorg.jaxen.Navigator
-
getAttributeQName
public java.lang.String getAttributeQName(java.lang.Object o)
- Specified by:
getAttributeQNamein interfaceorg.jaxen.Navigator
-
getAttributeStringValue
public java.lang.String getAttributeStringValue(java.lang.Object o)
- Specified by:
getAttributeStringValuein interfaceorg.jaxen.Navigator
-
getCommentStringValue
public java.lang.String getCommentStringValue(java.lang.Object o)
- Specified by:
getCommentStringValuein interfaceorg.jaxen.Navigator
-
getElementName
public java.lang.String getElementName(java.lang.Object o)
- Specified by:
getElementNamein interfaceorg.jaxen.Navigator
-
getElementNamespaceUri
public java.lang.String getElementNamespaceUri(java.lang.Object o)
- Specified by:
getElementNamespaceUriin interfaceorg.jaxen.Navigator
-
getElementQName
public java.lang.String getElementQName(java.lang.Object o)
- Specified by:
getElementQNamein interfaceorg.jaxen.Navigator
-
getElementStringValue
public java.lang.String getElementStringValue(java.lang.Object o)
- Specified by:
getElementStringValuein interfaceorg.jaxen.Navigator
-
getNamespacePrefix
public java.lang.String getNamespacePrefix(java.lang.Object o)
- Specified by:
getNamespacePrefixin interfaceorg.jaxen.Navigator
-
getNamespaceStringValue
public java.lang.String getNamespaceStringValue(java.lang.Object o)
- Specified by:
getNamespaceStringValuein interfaceorg.jaxen.Navigator
-
getTextStringValue
public java.lang.String getTextStringValue(java.lang.Object o)
- Specified by:
getTextStringValuein interfaceorg.jaxen.Navigator
-
isAttribute
public boolean isAttribute(java.lang.Object o)
- Specified by:
isAttributein interfaceorg.jaxen.Navigator
-
isComment
public boolean isComment(java.lang.Object o)
- Specified by:
isCommentin interfaceorg.jaxen.Navigator
-
isDocument
public boolean isDocument(java.lang.Object o)
- Specified by:
isDocumentin interfaceorg.jaxen.Navigator
-
isElement
public boolean isElement(java.lang.Object o)
- Specified by:
isElementin interfaceorg.jaxen.Navigator
-
isNamespace
public boolean isNamespace(java.lang.Object o)
- Specified by:
isNamespacein interfaceorg.jaxen.Navigator
-
isProcessingInstruction
public boolean isProcessingInstruction(java.lang.Object o)
- Specified by:
isProcessingInstructionin interfaceorg.jaxen.Navigator
-
isText
public boolean isText(java.lang.Object o)
- Specified by:
isTextin interfaceorg.jaxen.Navigator
-
parseXPath
public org.jaxen.XPath parseXPath(java.lang.String o) throws org.jaxen.JaxenException- Specified by:
parseXPathin interfaceorg.jaxen.Navigator- Throws:
org.jaxen.JaxenException
-
getAttributeAxisIterator
public java.util.Iterator getAttributeAxisIterator(java.lang.Object contextNode, java.lang.String localName, java.lang.String namespacePrefix, java.lang.String namespaceURI) throws org.jaxen.UnsupportedAxisException- Specified by:
getAttributeAxisIteratorin interfaceorg.jaxen.NamedAccessNavigator- Throws:
org.jaxen.UnsupportedAxisException
-
getAttributeAxisIterator
public java.util.Iterator getAttributeAxisIterator(java.lang.Object o) throws org.jaxen.UnsupportedAxisException- Specified by:
getAttributeAxisIteratorin interfaceorg.jaxen.Navigator- Overrides:
getAttributeAxisIteratorin classorg.jaxen.DefaultNavigator- Throws:
org.jaxen.UnsupportedAxisException
-
getChildAxisIterator
public java.util.Iterator getChildAxisIterator(java.lang.Object contextNode, java.lang.String localName, java.lang.String namespacePrefix, java.lang.String namespaceURI) throws org.jaxen.UnsupportedAxisException- Specified by:
getChildAxisIteratorin interfaceorg.jaxen.NamedAccessNavigator- Throws:
org.jaxen.UnsupportedAxisException
-
getChildAxisIterator
public java.util.Iterator getChildAxisIterator(java.lang.Object o) throws org.jaxen.UnsupportedAxisException- Specified by:
getChildAxisIteratorin interfaceorg.jaxen.Navigator- Overrides:
getChildAxisIteratorin classorg.jaxen.DefaultNavigator- Throws:
org.jaxen.UnsupportedAxisException
-
getFollowingSiblingAxisIterator
public java.util.Iterator getFollowingSiblingAxisIterator(java.lang.Object arg0) throws org.jaxen.UnsupportedAxisException- Specified by:
getFollowingSiblingAxisIteratorin interfaceorg.jaxen.Navigator- Overrides:
getFollowingSiblingAxisIteratorin classorg.jaxen.DefaultNavigator- Throws:
org.jaxen.UnsupportedAxisException- See Also:
always thrown
-
getFollowingAxisIterator
public java.util.Iterator getFollowingAxisIterator(java.lang.Object arg0) throws org.jaxen.UnsupportedAxisException- Specified by:
getFollowingAxisIteratorin interfaceorg.jaxen.Navigator- Overrides:
getFollowingAxisIteratorin classorg.jaxen.DefaultNavigator- Throws:
org.jaxen.UnsupportedAxisException- See Also:
always thrown
-
getPrecedingAxisIterator
public java.util.Iterator getPrecedingAxisIterator(java.lang.Object arg0) throws org.jaxen.UnsupportedAxisException- Specified by:
getPrecedingAxisIteratorin interfaceorg.jaxen.Navigator- Overrides:
getPrecedingAxisIteratorin classorg.jaxen.DefaultNavigator- Throws:
org.jaxen.UnsupportedAxisException- See Also:
always thrown
-
getPrecedingSiblingAxisIterator
public java.util.Iterator getPrecedingSiblingAxisIterator(java.lang.Object arg0) throws org.jaxen.UnsupportedAxisException- Specified by:
getPrecedingSiblingAxisIteratorin interfaceorg.jaxen.Navigator- Overrides:
getPrecedingSiblingAxisIteratorin classorg.jaxen.DefaultNavigator- Throws:
org.jaxen.UnsupportedAxisException- See Also:
always thrown
-
getNamespaceAxisIterator
public java.util.Iterator getNamespaceAxisIterator(java.lang.Object o) throws org.jaxen.UnsupportedAxisException- Specified by:
getNamespaceAxisIteratorin interfaceorg.jaxen.Navigator- Overrides:
getNamespaceAxisIteratorin classorg.jaxen.DefaultNavigator- Throws:
org.jaxen.UnsupportedAxisException
-
getParentAxisIterator
public java.util.Iterator getParentAxisIterator(java.lang.Object o) throws org.jaxen.UnsupportedAxisException- Specified by:
getParentAxisIteratorin interfaceorg.jaxen.Navigator- Overrides:
getParentAxisIteratorin classorg.jaxen.DefaultNavigator- Throws:
org.jaxen.UnsupportedAxisException
-
getDocumentNode
public java.lang.Object getDocumentNode(java.lang.Object o)
- Specified by:
getDocumentNodein interfaceorg.jaxen.Navigator- Overrides:
getDocumentNodein classorg.jaxen.DefaultNavigator
-
getNode
public java.lang.Object getNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
-
getNode
public java.util.List<org.alfresco.service.cmr.repository.ChildAssociationRef> getNode(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QNamePattern qNamePattern)
-
like
public java.lang.Boolean like(org.alfresco.service.cmr.repository.NodeRef childRef, org.alfresco.service.namespace.QName qname, java.lang.String sqlLikePattern, boolean includeFTS)
-
contains
public java.lang.Boolean contains(org.alfresco.service.cmr.repository.NodeRef childRef, org.alfresco.service.namespace.QName qname, java.lang.String sqlLikePattern, org.alfresco.service.cmr.search.SearchParameters.Operator defaultOperator)
-
isSubtypeOf
public java.lang.Boolean isSubtypeOf(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName typeQName)
-
hasAspect
public java.lang.Boolean hasAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName typeQName)
-
-