1 package com.google.code.beanmatchers;
2
3 import static java.util.Arrays.asList;
4
5 import java.util.List;
6 import org.hamcrest.Description;
7
8 public class HasValidGettersAndSettersMatcher<T> extends AbstractBeanAccessorMatcher<T> {
9 private final List<String> properties;
10
11 HasValidGettersAndSettersMatcher(TypeBasedValueGenerator valueGenerator, String... properties) {
12 super(valueGenerator);
13 this.properties = asList(properties);
14 }
15
16 @Override
17 protected boolean matches(Object item, Description mismatchDescription) {
18 return beanHasValidGetterAndSetterForProperties(
19 new JavaBean(item), properties, mismatchDescription);
20 }
21
22 public void describeTo(Description description) {
23 description.appendText("bean with valid setter and getter methods for properties ");
24 description.appendValue(properties);
25 }
26 }