Package yapion.utils

Class ReflectionsUtils


  • public class ReflectionsUtils
    extends java.lang.Object
    • 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 <T> void addSpecialCreator​(java.lang.Class<T> clazz, java.util.function.Function<YAPIONObject,​T> creator)  
      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 given Class.
      static java.lang.Object constructObjectObjenesis​(java.lang.String className)
      Construct an Object instance from a given className.
      static void discardCache()
      Discard the cache used by
      static 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​(@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 boolean isClassSuperclassOf​(@NonNull java.lang.Class<?> toCheck, @NonNull java.lang.Class<?> superClass)  
      static boolean setValueOfField​(java.lang.reflect.Field field, java.lang.Object object, java.lang.Object value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ReflectionsUtils

        public ReflectionsUtils()
    • 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 called
        object - the object on which the method should be called
        parameters - 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 called
        object - the object on which the method should be called
        parameters - 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 called
        object - 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 the ObjenesisBase.
        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 given Class. By using the ObjenesisBase.
        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 the ObjenesisBase, only with YAPIONData or YAPIONObjenesis or a NoArgument constructor.
        Parameters:
        className - the class to create an instance from
        data - branch to constructObjectObjenesis(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 the ObjenesisBase, only with YAPIONData or YAPIONObjenesis or a NoArgument constructor.
        Parameters:
        yapionObject - the class to create an instance from
        internalSerializer - the internalSerializer using it
        data - branch to constructObjectObjenesis(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)