Class Reflection2


  • @Beta
    public class Reflection2
    extends Object
    Utilities that allow access to Invokables with owner types.
    Since:
    1.6
    • Constructor Summary

      Constructors 
      Constructor Description
      Reflection2()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> com.google.common.reflect.Invokable<T,​T> constructor​(Class<T> ownerType, Class<?>... parameterTypes)
      returns an Invokable object that reflects a constructor present in the TypeToken type.
      static <T> Collection<com.google.common.reflect.Invokable<T,​T>> constructors​(com.google.common.reflect.TypeToken<T> ownerType)
      return all constructors or static factory methods present in the class as Invokables.
      static List<com.google.common.reflect.Parameter> getInvokableParameters​(com.google.common.reflect.Invokable<?,​?> invokable)
      Returns the Parameters associated with the given Invokable.
      static <T,​R>
      com.google.common.reflect.Invokable<T,​R>
      method​(com.google.common.reflect.TypeToken<T> ownerType, Method method)
      returns an Invokable object that links the method to its owner.
      static <T,​R>
      com.google.common.reflect.Invokable<T,​R>
      method​(Class<T> ownerType, String name, Class<?>... parameterTypes)
      returns an Invokable object that reflects a method present in the TypeToken type.
      static <T> Collection<com.google.common.reflect.Invokable<T,​Object>> methods​(Class<T> ownerType)
      return all methods present in the class as Invokables.
      protected static List<Class<?>> toClasses​(com.google.common.collect.ImmutableList<com.google.common.reflect.Parameter> params)  
      static <T> com.google.common.reflect.TypeToken<T> typeToken​(Class<T> in)
      gets a TypeToken for the given class.
      static <T> com.google.common.reflect.TypeToken<T> typeToken​(Type in)
      gets a TypeToken for the given type.
    • Constructor Detail

      • Reflection2

        public Reflection2()
    • Method Detail

      • typeToken

        public static <T> com.google.common.reflect.TypeToken<T> typeToken​(Type in)
        gets a TypeToken for the given type.
      • typeToken

        public static <T> com.google.common.reflect.TypeToken<T> typeToken​(Class<T> in)
        gets a TypeToken for the given class.
      • constructor

        public static <T> com.google.common.reflect.Invokable<T,​T> constructor​(Class<T> ownerType,
                                                                                     Class<?>... parameterTypes)
        returns an Invokable object that reflects a constructor present in the TypeToken type.
        Parameters:
        ownerType - corresponds to Invokable.getOwnerType()
        parameterTypes - corresponds to Constructor.getParameterTypes()
        Throws:
        IllegalArgumentException - if the constructor doesn't exist or a security exception occurred
      • constructors

        public static <T> Collection<com.google.common.reflect.Invokable<T,​T>> constructors​(com.google.common.reflect.TypeToken<T> ownerType)
        return all constructors or static factory methods present in the class as Invokables.
        Parameters:
        ownerType - corresponds to Invokable.getOwnerType()
      • method

        public static <T,​R> com.google.common.reflect.Invokable<T,​R> method​(com.google.common.reflect.TypeToken<T> ownerType,
                                                                                        Method method)
        returns an Invokable object that links the method to its owner.
        Parameters:
        ownerType - corresponds to Invokable.getOwnerType()
        method - present in ownerType
      • method

        public static <T,​R> com.google.common.reflect.Invokable<T,​R> method​(Class<T> ownerType,
                                                                                        String name,
                                                                                        Class<?>... parameterTypes)
        returns an Invokable object that reflects a method present in the TypeToken type. If there are multiple methods of the same name and parameter list, returns the method in the nearest ancestor with the most specific return type (see Class.getDeclaredMethod(java.lang.String, java.lang.Class<?>...)).
        Parameters:
        ownerType - corresponds to Invokable.getOwnerType()
        name - name of the method to be returned
        parameterTypes - corresponds to Method.getParameterTypes()
        Throws:
        IllegalArgumentException - if the method doesn't exist or a security exception occurred
      • methods

        public static <T> Collection<com.google.common.reflect.Invokable<T,​Object>> methods​(Class<T> ownerType)
        return all methods present in the class as Invokables.
        Parameters:
        ownerType - corresponds to Invokable.getOwnerType()
      • toClasses

        protected static List<Class<?>> toClasses​(com.google.common.collect.ImmutableList<com.google.common.reflect.Parameter> params)
      • getInvokableParameters

        public static List<com.google.common.reflect.Parameter> getInvokableParameters​(com.google.common.reflect.Invokable<?,​?> invokable)
        Returns the Parameters associated with the given Invokable. This function is backed by a cache.
        Parameters:
        invokable - The Invokable we want to get Parameters from