HasXPath (Hamcrest)
Date: 2012-07-09

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.hamcrest.xml
Class HasXPath

    java.lang.Object
      org.hamcrest.BaseMatcher<T>
          org.hamcrest.TypeSafeDiagnosingMatcher<org.w3c.dom.Node>
              org.hamcrest.xml.HasXPath

All Implemented Interfaces:
  Matcher<org.w3c.dom.Node>, SelfDescribing

    public class HasXPath

extends TypeSafeDiagnosingMatcher<org.w3c.dom.Node>

Applies a Matcher to a given XML Node in an existing XML Node tree, specified by an XPath expression.

Author:
  Joe Walnes, Steve Freeman

Field Summary
`static javax.xml.namespace.NamespaceContext` | `NO_NAMESPACE_CONTEXT`

Constructor Summary
`HasXPath(java.lang.String xPathExpression, Matcher<java.lang.String> valueMatcher)`
`HasXPath(java.lang.String xPathExpression, javax.xml.namespace.NamespaceContext namespaceContext, Matcher<java.lang.String> valueMatcher)`

Method Summary
`void` | `describeTo(Description description)` Generates a description of the object.
`static Matcher<org.w3c.dom.Node>` | `hasXPath(java.lang.String xPath)` Creates a matcher of `Node`s that matches when the examined node contains a node at the specified `xPath`, with any content.
`static Matcher<org.w3c.dom.Node>` | `hasXPath(java.lang.String xPath, Matcher<java.lang.String> valueMatcher)` Creates a matcher of `Node`s that matches when the examined node has a value at the specified `xPath` that satisfies the specified `valueMatcher`.
`static Matcher<org.w3c.dom.Node>` | `hasXPath(java.lang.String xPath, javax.xml.namespace.NamespaceContext namespaceContext)` Creates a matcher of `Node`s that matches when the examined node contains a node at the specified `xPath` within the specified namespace context, with any content.
`static Matcher<org.w3c.dom.Node>` | `hasXPath(java.lang.String xPath, javax.xml.namespace.NamespaceContext namespaceContext, Matcher<java.lang.String> valueMatcher)` Creates a matcher of `Node`s that matches when the examined node has a value at the specified `xPath`, within the specified `namespaceContext`, that satisfies the specified `valueMatcher`.
`boolean` | `matchesSafely(org.w3c.dom.Node item, Description mismatch)` Subclasses should implement this.

Methods inherited from class org.hamcrest.TypeSafeDiagnosingMatcher
`describeMismatch, matches`

Methods inherited from class org.hamcrest.BaseMatcher
`_dont_implement_Matcher___instead_extend_BaseMatcher_, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### NO_NAMESPACE_CONTEXT

    public static final javax.xml.namespace.NamespaceContext NO_NAMESPACE_CONTEXT

Constructor Detail

### HasXPath

    public HasXPath(java.lang.String xPathExpression,
                    Matcher<java.lang.String> valueMatcher)

Parameters:
  `xPathExpression` - XPath expression.
  `valueMatcher` - Matcher to use at given XPath. May be null to specify that the XPath must exist but the value is irrelevant.

### HasXPath

    public HasXPath(java.lang.String xPathExpression,
                    javax.xml.namespace.NamespaceContext namespaceContext,
                    Matcher<java.lang.String> valueMatcher)

Parameters:
  `xPathExpression` - XPath expression.
  `namespaceContext` - Resolves XML namespace prefixes in the XPath expression
  `valueMatcher` - Matcher to use at given XPath. May be null to specify that the XPath must exist but the value is irrelevant.

Method Detail

### matchesSafely

    public boolean matchesSafely(org.w3c.dom.Node item,
                                 Description mismatch)

  Description copied from class: `TypeSafeDiagnosingMatcher`
  Subclasses should implement this. The item will already have been checked for the specific type and will never be null.

  Specified by:
    `matchesSafely` in class `TypeSafeDiagnosingMatcher<org.w3c.dom.Node>`

### describeTo

    public void describeTo(Description description)

  Description copied from interface: `SelfDescribing`
  Generates a description of the object. The description may be part of a a description of a larger object of which this is just a component, so it should be worded appropriately.

  Parameters:
    `description` - The description to be built or appended to.

### hasXPath

    public static Matcher<org.w3c.dom.Node> hasXPath(java.lang.String xPath,
                                                     Matcher<java.lang.String> valueMatcher)

  Creates a matcher of `Node`s that matches when the examined node has a value at the specified `xPath` that satisfies the specified `valueMatcher`.

  For example:

      assertThat(xml, hasXPath("/root/something[2]/cheese", equalTo("Cheddar")))

  Parameters:
    `xPath` - the target xpath
    `valueMatcher` - matcher for the value at the specified xpath

### hasXPath

    public static Matcher<org.w3c.dom.Node> hasXPath(java.lang.String xPath,
                                                     javax.xml.namespace.NamespaceContext namespaceContext,
                                                     Matcher<java.lang.String> valueMatcher)

  Creates a matcher of `Node`s that matches when the examined node has a value at the specified `xPath`, within the specified `namespaceContext`, that satisfies the specified `valueMatcher`.

  For example:

      assertThat(xml, hasXPath("/root/something[2]/cheese", myNs, equalTo("Cheddar")))

  Parameters:
    `xPath` - the target xpath
    `namespaceContext` - the namespace for matching nodes
    `valueMatcher` - matcher for the value at the specified xpath

### hasXPath

    public static Matcher<org.w3c.dom.Node> hasXPath(java.lang.String xPath)

  Creates a matcher of `Node`s that matches when the examined node contains a node at the specified `xPath`, with any content.

  For example:

      assertThat(xml, hasXPath("/root/something[2]/cheese"))

  Parameters:
    `xPath` - the target xpath

### hasXPath

    public static Matcher<org.w3c.dom.Node> hasXPath(java.lang.String xPath,
                                                     javax.xml.namespace.NamespaceContext namespaceContext)

  Creates a matcher of `Node`s that matches when the examined node contains a node at the specified `xPath` within the specified namespace context, with any content.

  For example:

      assertThat(xml, hasXPath("/root/something[2]/cheese", myNs))

  Parameters:
    `xPath` - the target xpath
    `namespaceContext` - the namespace for matching nodes

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD