Static utility class to get and set generically typed JCR property values. It has the following methods:
<T> T getPropertyValue(Property property, Class<T> clazz)
<T> T getPropertyValue(Node node, String path, Class<T> clazz)
<T> Collection<T> getPropertyValues(Property property, Class<? extends Collection> clazz, Class<T> genericType)
<T> Collection<T> getPropertyValues(Node node, String path, Class<? extends Collection> clazz, Class<T> genericType)
<T> T getValue(Value value, Class<T> clazz)
void setProperty(Node node, String relativePath, Object object)
<T> void setPropertyValues(Property property, Collection<T> values)
<T> void setPropertyValues(Node node, String relativePath, Collection<T> values)
Value createValue(Object object)
List<Class<?>> getActualTypeParameters(Field field)
<T extends Annotation> T getGenericAnnotation(Field field, int parameterIndex, Class<T> annotationClazz)