org.hamcrest.beans
Class HasProperty<T>

java.lang.Object
  extended by org.hamcrest.BaseMatcher<T>
      extended by org.hamcrest.TypeSafeMatcher<T>
          extended by org.hamcrest.beans.HasProperty<T>
All Implemented Interfaces:
Matcher<T>, SelfDescribing

public class HasProperty<T>
extends TypeSafeMatcher<T>

A Matcher that checks that an object has a JavaBean property with the specified name. If an error occurs during introspection of the object then this is treated as a mismatch.

Author:
Iain McGinniss, Nat Pryce, Steve Freeman

Constructor Summary
HasProperty(java.lang.String propertyName)
           
 
Method Summary
 void describeMismatchSafely(T item, Description mismatchDescription)
          Subclasses should override this.
 void describeTo(Description description)
          Generates a description of the object.
static
<T> Matcher<T>
hasProperty(java.lang.String propertyName)
          Creates a matcher that matches when the examined object has a JavaBean property with the specified name.
 boolean matchesSafely(T obj)
          Subclasses should implement this.
 
Methods inherited from class org.hamcrest.TypeSafeMatcher
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
 

Constructor Detail

HasProperty

public HasProperty(java.lang.String propertyName)
Method Detail

matchesSafely

public boolean matchesSafely(T obj)
Description copied from class: TypeSafeMatcher
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 TypeSafeMatcher<T>

describeMismatchSafely

public void describeMismatchSafely(T item,
                                   Description mismatchDescription)
Description copied from class: TypeSafeMatcher
Subclasses should override this. The item will already have been checked for the specific type and will never be null.

Overrides:
describeMismatchSafely in class TypeSafeMatcher<T>

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.

hasProperty

public static <T> Matcher<T> hasProperty(java.lang.String propertyName)
Creates a matcher that matches when the examined object has a JavaBean property with the specified name.

For example:

assertThat(myBean, hasProperty("foo"))

Parameters:
propertyName - the name of the JavaBean property that examined beans should possess