org.loom.binding
Class PropertyWrapperFactory

java.lang.Object
  extended by org.loom.binding.PropertyWrapperFactory

@Singleton
public class PropertyWrapperFactory
extends java.lang.Object


Constructor Summary
PropertyWrapperFactory()
           
 
Method Summary
 void cleanCache(java.lang.Class<?> clazz)
           
 PropertyWrapper createInstance(java.lang.Class<?> containerClass, java.lang.String propertyName)
           
 java.util.List<PropertyWrapper> getAnnotatedProperties(java.lang.Class<?> clazz, java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass, java.lang.String[] inclProp, java.lang.String[] exclProp)
          Return the list of properties with the provided annotation
 void setImplementationFactoriesRepository(ImplementationFactoriesRepository implementationFactories)
           
 void setItemMetadataFactory(ItemMetadataFactory itemMetadataFactory)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyWrapperFactory

public PropertyWrapperFactory()
Method Detail

cleanCache

public void cleanCache(java.lang.Class<?> clazz)

createInstance

public PropertyWrapper createInstance(java.lang.Class<?> containerClass,
                                      java.lang.String propertyName)
Parameters:
containerClass - the container class
propertyName - the name of the property

getAnnotatedProperties

public java.util.List<PropertyWrapper> getAnnotatedProperties(java.lang.Class<?> clazz,
                                                              java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass,
                                                              java.lang.String[] inclProp,
                                                              java.lang.String[] exclProp)
Return the list of properties with the provided annotation

Parameters:
clazz - the class containing the properties
annotationClass - the annotation class to search for
inclProp - the list of properties to include. If null, all properties will be used.
exclProp - the list of properties to exclude. If null, no property will be excluded.
Returns:
the list of properties that contain the provided annotation

setImplementationFactoriesRepository

public void setImplementationFactoriesRepository(ImplementationFactoriesRepository implementationFactories)

setItemMetadataFactory

public void setItemMetadataFactory(ItemMetadataFactory itemMetadataFactory)