Package org.jclouds.reflect
Class Reflection2
- java.lang.Object
-
- org.jclouds.reflect.Reflection2
-
@Beta public class Reflection2 extends Object
Utilities that allow access toInvokables withowner 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 anInvokableobject that reflects a constructor present in theTypeTokentype.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 asInvokables.static List<com.google.common.reflect.Parameter>getInvokableParameters(com.google.common.reflect.Invokable<?,?> invokable)Returns theParameters associated with the givenInvokable.static <T,R>
com.google.common.reflect.Invokable<T,R>method(com.google.common.reflect.TypeToken<T> ownerType, Method method)returns anInvokableobject that links themethodto its owner.static <T,R>
com.google.common.reflect.Invokable<T,R>method(Class<T> ownerType, String name, Class<?>... parameterTypes)returns anInvokableobject that reflects a method present in theTypeTokentype.static <T> Collection<com.google.common.reflect.Invokable<T,Object>>methods(Class<T> ownerType)return all methods present in the class asInvokables.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 aTypeTokenfor the given class.static <T> com.google.common.reflect.TypeToken<T>typeToken(Type in)gets aTypeTokenfor the given type.
-
-
-
Method Detail
-
typeToken
public static <T> com.google.common.reflect.TypeToken<T> typeToken(Type in)
gets aTypeTokenfor the given type.
-
typeToken
public static <T> com.google.common.reflect.TypeToken<T> typeToken(Class<T> in)
gets aTypeTokenfor the given class.
-
constructor
public static <T> com.google.common.reflect.Invokable<T,T> constructor(Class<T> ownerType, Class<?>... parameterTypes)
returns anInvokableobject that reflects a constructor present in theTypeTokentype.- Parameters:
ownerType- corresponds toInvokable.getOwnerType()parameterTypes- corresponds toConstructor.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 asInvokables.- Parameters:
ownerType- corresponds toInvokable.getOwnerType()
-
method
public static <T,R> com.google.common.reflect.Invokable<T,R> method(com.google.common.reflect.TypeToken<T> ownerType, Method method)returns anInvokableobject that links themethodto its owner.- Parameters:
ownerType- corresponds toInvokable.getOwnerType()method- present inownerType
-
method
public static <T,R> com.google.common.reflect.Invokable<T,R> method(Class<T> ownerType, String name, Class<?>... parameterTypes)
returns anInvokableobject that reflects a method present in theTypeTokentype. 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 (seeClass.getDeclaredMethod(java.lang.String, java.lang.Class<?>...)).- Parameters:
ownerType- corresponds toInvokable.getOwnerType()name- name of the method to be returnedparameterTypes- corresponds toMethod.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 asInvokables.- Parameters:
ownerType- corresponds toInvokable.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 theParameters associated with the givenInvokable. This function is backed by a cache.- Parameters:
invokable- TheInvokablewe want to get Parameters from
-
-