Package yapion.utils
Class ReflectionsUtils
- java.lang.Object
-
- yapion.utils.ReflectionsUtils
-
public class ReflectionsUtils extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ReflectionsUtils.Parameter
-
Method Summary
Modifier and Type Method Description static java.lang.Object
accessField(java.lang.reflect.Field f, java.lang.Object o)
static java.lang.Object
accessField(java.lang.String s, java.lang.Object o)
static java.lang.Object
constructObject(java.lang.String className, boolean data)
Construct an Object instance from a given className.static java.lang.Object
constructObject(YAPIONObject yapionObject, InternalSerializer<?> internalSerializer, boolean data)
Construct an Object instance from a given yapionObject.static java.lang.Object
constructObjectObjenesis(java.lang.Class<?> clazz)
Construct an Object instance from a givenClass
.static java.lang.Object
constructObjectObjenesis(java.lang.String className)
Construct an Object instance from a given className.static void
discardCache()
Discard the cache used bystatic java.lang.reflect.Field
getField(java.lang.Class<?> clazz, java.lang.String name)
static java.util.List<java.lang.reflect.Field>
getFields(java.lang.Class<?> clazz)
static java.lang.Object
getValueOfField(java.lang.reflect.Field field, java.lang.Object object)
static int
implementsInterface(java.lang.Class<?> toCheck, java.lang.Class<?> interfaceClass)
static int
implementsInterface(java.lang.String type, java.lang.Class<?> interfaceClass)
static MethodReturnValue<java.lang.Object>
invokeMethod(java.lang.String name, java.lang.Object object, java.lang.Object... parameters)
Invokes a method with the given arguments on a given object and return the possible return value.static MethodReturnValue<java.lang.Object>
invokeMethod(java.lang.String name, java.lang.Object object, ReflectionsUtils.Parameter... parameters)
Invokes a method with the given arguments on a given object and return the possible return value.static MethodReturnValue<java.lang.Object>
invokeMethodObjectSystem(java.lang.reflect.Method method, java.lang.Object object)
Invokes a method with the given arguments on a given object and return the possible return value.static boolean
isClassSuperclassOf(@NonNull java.lang.Class<?> toCheck, @NonNull java.lang.Class<?> superClass)
static boolean
isClassSuperclassOf(@NonNull java.lang.String toCheck, @NonNull java.lang.Class<?> superClass)
static void
setCacheSize(int cacheSize)
Set the cache size of the internal cache to a specific number above 100.static boolean
setValueOfField(java.lang.reflect.Field field, java.lang.Object object, java.lang.Object value)
-
-
-
Method Detail
-
setCacheSize
public static void setCacheSize(int cacheSize)
Set the cache size of the internal cache to a specific number above 100. If you set a number below 100 it will default to 100.- Parameters:
cacheSize
- the cache Size
-
discardCache
public static void discardCache()
Discard the cache used by
-
invokeMethod
public static MethodReturnValue<java.lang.Object> invokeMethod(java.lang.String name, java.lang.Object object, ReflectionsUtils.Parameter... parameters)
Invokes a method with the given arguments on a given object and return the possible return value.- Parameters:
name
- the name of the method to be calledobject
- the object on which the method should be calledparameters
- the parameters that should be used- Returns:
- the possible return value
-
invokeMethod
public static MethodReturnValue<java.lang.Object> invokeMethod(java.lang.String name, java.lang.Object object, java.lang.Object... parameters)
Invokes a method with the given arguments on a given object and return the possible return value.- Parameters:
name
- the name of the method to be calledobject
- the object on which the method should be calledparameters
- the parameters that should be used- Returns:
- the possible return value
-
invokeMethodObjectSystem
public static MethodReturnValue<java.lang.Object> invokeMethodObjectSystem(java.lang.reflect.Method method, java.lang.Object object)
Invokes a method with the given arguments on a given object and return the possible return value.- Parameters:
method
- the method to be calledobject
- the object on which the method should be called- Returns:
- the possible return value
-
constructObjectObjenesis
public static java.lang.Object constructObjectObjenesis(java.lang.String className)
Construct an Object instance from a given className. By using theObjenesisBase
.- Parameters:
className
- the class to create an instance from- Returns:
- an instance of the specified class
-
constructObjectObjenesis
public static java.lang.Object constructObjectObjenesis(java.lang.Class<?> clazz)
Construct an Object instance from a givenClass
. By using theObjenesisBase
.- Parameters:
clazz
- the class to create an instance from- Returns:
- an instance of the specified class
-
constructObject
public static java.lang.Object constructObject(java.lang.String className, boolean data)
Construct an Object instance from a given className. By using theObjenesisBase
, only withYAPIONData
orYAPIONObjenesis
or a NoArgument constructor.- Parameters:
className
- the class to create an instance fromdata
- branch toconstructObjectObjenesis(String)
- Returns:
- an instance of the specified class
-
constructObject
public static java.lang.Object constructObject(YAPIONObject yapionObject, InternalSerializer<?> internalSerializer, boolean data)
Construct an Object instance from a given yapionObject. By using theObjenesisBase
, only withYAPIONData
orYAPIONObjenesis
or a NoArgument constructor.- Parameters:
yapionObject
- the class to create an instance frominternalSerializer
- the internalSerializer using itdata
- branch toconstructObjectObjenesis(String)
- Returns:
- an instance of the specified class
-
accessField
public static java.lang.Object accessField(java.lang.String s, java.lang.Object o)
-
accessField
public static java.lang.Object accessField(java.lang.reflect.Field f, java.lang.Object o)
-
isClassSuperclassOf
public static boolean isClassSuperclassOf(@NonNull @NonNull java.lang.String toCheck, @NonNull @NonNull java.lang.Class<?> superClass)
-
isClassSuperclassOf
public static boolean isClassSuperclassOf(@NonNull @NonNull java.lang.Class<?> toCheck, @NonNull @NonNull java.lang.Class<?> superClass)
-
implementsInterface
public static int implementsInterface(java.lang.String type, java.lang.Class<?> interfaceClass)
-
implementsInterface
public static int implementsInterface(java.lang.Class<?> toCheck, java.lang.Class<?> interfaceClass)
-
getFields
public static java.util.List<java.lang.reflect.Field> getFields(java.lang.Class<?> clazz)
-
getValueOfField
public static java.lang.Object getValueOfField(java.lang.reflect.Field field, java.lang.Object object)
-
setValueOfField
public static boolean setValueOfField(java.lang.reflect.Field field, java.lang.Object object, java.lang.Object value)
-
getField
public static java.lang.reflect.Field getField(java.lang.Class<?> clazz, java.lang.String name)
-
-