com.evolveum.midpoint.schema.holder
Class XPathHolder

java.lang.Object
  extended by com.evolveum.midpoint.schema.holder.XPathHolder

public class XPathHolder
extends Object

Holds internal (parsed) form of midPoint-style XPath-like expressions. It is able to retrieve/export these expressions from/to various forms (text, text in XML document, XPathSegment list, prism path specification). Assumes relative XPath, but somehow can also work with absolute XPaths.

Author:
semancik, mederly

Field Summary
static String DEFAULT_PREFIX
           
 
Constructor Summary
XPathHolder()
          Sets "current node" Xpath.
XPathHolder(Element domElement)
           
XPathHolder(ItemPath propertyPath)
           
XPathHolder(List<XPathSegment> segments)
           
XPathHolder(List<XPathSegment> segments, boolean absolute)
           
XPathHolder(QName... segmentQNames)
           
XPathHolder(String xpath)
           
XPathHolder(String xpath, Map<String,String> namespaceMap)
           
XPathHolder(String xpath, Node domNode)
           
 
Method Summary
 boolean equals(Object obj)
           
 Map<String,String> getNamespaceMap()
           
 List<XPathSegment> getTail(XPathHolder path)
          Returns a list of segments that are the "tail" after specified path.
 String getXPath()
           
 String getXPathWithDeclarations()
           
 int hashCode()
           
 boolean isBelow(XPathHolder path)
          Returns true if this path is below a specified path.
static boolean isDefault(Element pathElement)
           
 boolean isEmpty()
           
 Element toElement(QName elementQName, Document document)
           
 Element toElement(String elementNamespace, String localElementName)
           
 Element toElement(String elementNamespace, String localElementName, Document document)
           
 ItemPath toPropertyPath()
           
 List<XPathSegment> toSegments()
           
 String toString()
           
 XPathHolder transposedPath(List<XPathSegment> parentPath)
          Returns new XPath with a specified element prepended to the path.
 XPathHolder transposedPath(QName parentPath)
          Returns new XPath with a specified element prepended to the path.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_PREFIX

public static final String DEFAULT_PREFIX
See Also:
Constant Field Values
Constructor Detail

XPathHolder

public XPathHolder()
Sets "current node" Xpath.


XPathHolder

public XPathHolder(String xpath)

XPathHolder

public XPathHolder(String xpath,
                   Map<String,String> namespaceMap)

XPathHolder

public XPathHolder(Element domElement)

XPathHolder

public XPathHolder(String xpath,
                   Node domNode)

XPathHolder

public XPathHolder(List<XPathSegment> segments)

XPathHolder

public XPathHolder(List<XPathSegment> segments,
                   boolean absolute)

XPathHolder

public XPathHolder(QName... segmentQNames)

XPathHolder

public XPathHolder(ItemPath propertyPath)
Method Detail

getXPath

public String getXPath()

getXPathWithDeclarations

public String getXPathWithDeclarations()

getNamespaceMap

public Map<String,String> getNamespaceMap()

toElement

public Element toElement(String elementNamespace,
                         String localElementName)

toElement

public Element toElement(QName elementQName,
                         Document document)

toElement

public Element toElement(String elementNamespace,
                         String localElementName,
                         Document document)

toSegments

public List<XPathSegment> toSegments()

toPropertyPath

public ItemPath toPropertyPath()

transposedPath

public XPathHolder transposedPath(QName parentPath)
Returns new XPath with a specified element prepended to the path. Useful for "transposing" relative paths to a absolute root.

Parameters:
parentPath -
Returns:

transposedPath

public XPathHolder transposedPath(List<XPathSegment> parentPath)
Returns new XPath with a specified element prepended to the path. Useful for "transposing" relative paths to a absolute root.

Parameters:
parentPath -
Returns:

isEmpty

public boolean isEmpty()

toString

public String toString()
Overrides:
toString in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

isBelow

public boolean isBelow(XPathHolder path)
Returns true if this path is below a specified path.


getTail

public List<XPathSegment> getTail(XPathHolder path)
Returns a list of segments that are the "tail" after specified path. The path in the parameter is assumed to be a "superpath" to this path, e.i. this path is below specified path. This method returns all the segments of this path that are below the specified path. Returns null if the assumption is false.


isDefault

public static boolean isDefault(Element pathElement)


Copyright © 2013 evolveum. All Rights Reserved.