Package com.wavemaker.commons.util
Class ObjectAccess
- java.lang.Object
-
- com.wavemaker.commons.util.ObjectAccess
-
public class ObjectAccess extends java.lang.ObjectEncapsulates logic for Class/instance access using reflection. Only throws runtime exceptions. Has logic for: o instantiation. o invoking methods given a String method name and optionally method arguments. o checking annotation presence. o getting input and output types for properties and methods. o object string representation.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<?>forName(java.lang.String className)java.util.List<java.lang.Class<?>>getGenericReturnTypes(java.lang.Class<?> clazz, java.lang.String methodName, int numParams)static ObjectAccessgetInstance()java.util.List<java.lang.Class<?>>getMethodParamTypes(java.lang.Class<?> clazz, java.lang.String methodName, int numParams)java.lang.Class<?>getMethodReturnType(java.lang.Class<?> clazz, java.lang.String methodName, int numParams)java.util.Map<java.lang.String,java.lang.Class<?>>getProperties(java.lang.Class<?> clazz)<T> TgetProperty(java.lang.Object o, java.lang.String propertyName)java.util.List<java.lang.String>getPropertyNames(java.lang.Class<?> clazz)java.lang.Class<?>getPropertyType(java.lang.Class<?> clazz, java.lang.String propertyName)<T extends java.lang.annotation.Annotation>
booleanhasAnnotation(java.lang.Class<T> annotation, java.lang.Object o, java.lang.String methodName)<T extends java.lang.annotation.Annotation>
booleanhasAnnotation(java.lang.Class<T> annotation, java.lang.Object o, java.lang.String methodName, int numParams)<T extends java.lang.annotation.Annotation>
booleanhasAnnotation(java.lang.Class<T> annotation, java.lang.Object o, java.lang.String methodName, java.lang.Class<?>... paramTypes)booleanhasMethod(java.lang.Class<?> clazz, java.lang.String methodName, int numParams)booleanhasProperty(java.lang.Class<?> clazz, java.lang.String propertyName)<T> Tinvoke(java.lang.Object o, java.lang.String methodName)<T> Tinvoke(java.lang.Object o, java.lang.String methodName, java.lang.Object... params)java.lang.ObjectnewInstance(java.lang.Class<?> clazz)java.lang.StringobjectToString(java.lang.Object o)java.lang.StringobjectToString(java.lang.Object o, boolean excludeContainers)booleanpropertyIsNull(java.lang.Object o, java.lang.String propertyName)voidsetProperty(java.lang.Object o, java.lang.String propertyName, java.lang.Object propertyValue)
-
-
-
Method Detail
-
getInstance
public static ObjectAccess getInstance()
-
newInstance
public java.lang.Object newInstance(java.lang.Class<?> clazz)
-
forName
public java.lang.Class<?> forName(java.lang.String className)
-
invoke
public <T> T invoke(java.lang.Object o, java.lang.String methodName)
-
invoke
public <T> T invoke(java.lang.Object o, java.lang.String methodName, java.lang.Object... params)
-
getProperty
public <T> T getProperty(java.lang.Object o, java.lang.String propertyName)
-
setProperty
public void setProperty(java.lang.Object o, java.lang.String propertyName, java.lang.Object propertyValue)
-
getPropertyType
public java.lang.Class<?> getPropertyType(java.lang.Class<?> clazz, java.lang.String propertyName)
-
propertyIsNull
public boolean propertyIsNull(java.lang.Object o, java.lang.String propertyName)
-
getMethodParamTypes
public java.util.List<java.lang.Class<?>> getMethodParamTypes(java.lang.Class<?> clazz, java.lang.String methodName, int numParams)
-
getMethodReturnType
public java.lang.Class<?> getMethodReturnType(java.lang.Class<?> clazz, java.lang.String methodName, int numParams)
-
getGenericReturnTypes
public java.util.List<java.lang.Class<?>> getGenericReturnTypes(java.lang.Class<?> clazz, java.lang.String methodName, int numParams)
-
hasAnnotation
public <T extends java.lang.annotation.Annotation> boolean hasAnnotation(java.lang.Class<T> annotation, java.lang.Object o, java.lang.String methodName)
-
hasAnnotation
public <T extends java.lang.annotation.Annotation> boolean hasAnnotation(java.lang.Class<T> annotation, java.lang.Object o, java.lang.String methodName, java.lang.Class<?>... paramTypes)
-
hasAnnotation
public <T extends java.lang.annotation.Annotation> boolean hasAnnotation(java.lang.Class<T> annotation, java.lang.Object o, java.lang.String methodName, int numParams)
-
hasProperty
public boolean hasProperty(java.lang.Class<?> clazz, java.lang.String propertyName)
-
hasMethod
public boolean hasMethod(java.lang.Class<?> clazz, java.lang.String methodName, int numParams)
-
getPropertyNames
public java.util.List<java.lang.String> getPropertyNames(java.lang.Class<?> clazz)
-
getProperties
public java.util.Map<java.lang.String,java.lang.Class<?>> getProperties(java.lang.Class<?> clazz)
-
objectToString
public java.lang.String objectToString(java.lang.Object o)
-
objectToString
public java.lang.String objectToString(java.lang.Object o, boolean excludeContainers)
-
-