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 classReflectionsUtils.Parameter
-
Constructor Summary
Constructors Constructor Description ReflectionsUtils()
-
Method Summary
Modifier and Type Method Description static java.lang.ObjectaccessField(java.lang.reflect.Field f, java.lang.Object o)static java.lang.ObjectaccessField(java.lang.String s, java.lang.Object o)static <T> voidaddSpecialCreator(java.lang.Class<T> clazz, java.util.function.Function<YAPIONObject,T> creator)static java.lang.ObjectconstructObject(java.lang.String className, boolean data)Construct an Object instance from a given className.static java.lang.ObjectconstructObject(YAPIONObject yapionObject, InternalSerializer<?> internalSerializer, boolean data)Construct an Object instance from a given yapionObject.static java.lang.ObjectconstructObjectObjenesis(java.lang.Class<?> clazz)Construct an Object instance from a givenClass.static java.lang.ObjectconstructObjectObjenesis(java.lang.String className)Construct an Object instance from a given className.static voiddiscardCache()Discard the cache used bystatic java.lang.reflect.FieldgetField(java.lang.Class<?> clazz, java.lang.String name)static java.util.List<java.lang.reflect.Field>getFields(java.lang.Class<?> clazz)static java.lang.ObjectgetValueOfField(java.lang.reflect.Field field, java.lang.Object object)static intimplementsInterface(@NonNull java.lang.Class<?> toCheck, @NonNull 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 booleanisClassSuperclassOf(@NonNull java.lang.Class<?> toCheck, @NonNull java.lang.Class<?> superClass)static booleansetValueOfField(java.lang.reflect.Field field, java.lang.Object object, java.lang.Object value)
-
-
-
Method Detail
-
addSpecialCreator
public static <T> void addSpecialCreator(java.lang.Class<T> clazz, java.util.function.Function<YAPIONObject,T> creator)
-
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 withYAPIONDataorYAPIONObjenesisor 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 withYAPIONDataorYAPIONObjenesisor 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.Class<?> toCheck, @NonNull @NonNull java.lang.Class<?> superClass)
-
implementsInterface
public static int implementsInterface(@NonNull @NonNull java.lang.Class<?> toCheck, @NonNull @NonNull 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)
-
-