import java.lang.reflect.Method;
-
/**
- * Accessing a property of an object.
+ * Accessing a property of an object.
*
* @author Erik Brakkee
- *
- * @param <T> Type of the property.
+ *
+ * @param <T>
+ * Type of the property.
*/
public class PropertyAccessor<T> implements Accessor<T> {
private Method getter;
private Method setter;
/**
- * Constructs the accessor.
- * @param aGetter Getter method.
- * @param aSetter Setter method.
+ * Constructs the accessor.
+ *
+ * @param aGetter
+ * Getter method.
+ * @param aSetter
+ * Setter method.
*/
public PropertyAccessor(Method aGetter, Method aSetter) {
getter = aGetter;
}
/**
- * @return The getter.
+ * @return The getter.
*/
public Method getGetter() {
return getter;
}
/**
- * @return The setter.
+ * @return The setter.
*/
public Method getSetter() {
return setter;
}
-
+
@Override
public String toString() {
- return "propertyInjection(" + getter + ", " + setter + ")";
+ return "propertyInjection(" + getter + ", " + setter + ")";
+ }
+
+ @Override
+ public Class<T> getType() {
+ return (Class<T>) getter.getReturnType();
}
}
\ No newline at end of file