net.vidageek.mirror.provider
Interface ReflectionProvider

All Known Implementing Classes:
DefaultMirrorReflectionProvider, Sun15ReflectionProvider

public interface ReflectionProvider

This is the interface defines methods to get all specific reflection providers.

Author:
jonasabreu

Method Summary
 AnnotatedElementReflectionProvider getAnnotatedElementReflectionProvider(AnnotatedElement element)
           
 GenericTypeAccessor getClassGenericTypeAccessor(Class<?> clazz)
           
<T> ClassReflectionProvider<T>
getClassReflectionProvider(Class<T> clazz)
           
 ClassReflectionProvider<? extends Object> getClassReflectionProvider(String className)
           
<T> ConstructorBypassingReflectionProvider<T>
getConstructorBypassingReflectionProvider(Class<T> clazz)
           
<T> ConstructorReflectionProvider<T>
getConstructorReflectionProvider(Class<T> clazz, Constructor<T> constructor)
           
 GenericTypeAccessor getFieldGenericTypeAccessor(Field field)
           
 FieldReflectionProvider getFieldReflectionProvider(Object target, Class<?> clazz, Field field)
           
 MethodReflectionProvider getMethodReflectionProvider(Object target, Class<?> clazz, Method method)
           
 ParameterizedElementReflectionProvider getParameterizedElementProvider(GenericTypeAccessor accessor)
           
 ProxyReflectionProvider getProxyReflectionProvider(Class<?> clazz, List<Class<?>> interfaces, MethodInterceptor... methodInterceptors)
           
 

Method Detail

getClassReflectionProvider

ClassReflectionProvider<? extends Object> getClassReflectionProvider(String className)
Parameters:
className - Full qualified name of the class that is going to be wrapped by a ClassReflectionProvider.
Throws:
ReflectionProviderException
See Also:
ClassReflectionProvider

getClassReflectionProvider

<T> ClassReflectionProvider<T> getClassReflectionProvider(Class<T> clazz)
Parameters:
clazz - Class that is going to be wrapped by a ClassReflectionProvider.
Throws:
ReflectionProviderException
See Also:
ClassReflectionProvider

getConstructorReflectionProvider

<T> ConstructorReflectionProvider<T> getConstructorReflectionProvider(Class<T> clazz,
                                                                      Constructor<T> constructor)
Parameters:
clazz - Class of the constructor
constructor - constructor that is going to be wrapped by ConstructorReflectionProvider
Throws:
ReflectionProviderException
See Also:
ConstructorReflectionProvider

getConstructorBypassingReflectionProvider

<T> ConstructorBypassingReflectionProvider<T> getConstructorBypassingReflectionProvider(Class<T> clazz)
Parameters:
clazz - Class to be instantiated without a constructor.
Throws:
ReflectionProviderException

getMethodReflectionProvider

MethodReflectionProvider getMethodReflectionProvider(Object target,
                                                     Class<?> clazz,
                                                     Method method)
Parameters:
target - Object where method will be invoked. May be null if method is a static method.
clazz - class where this method can be found.
method - method to be wrapped by MethodReflectionProvider
Throws:
ReflectionProviderException
See Also:
MethodReflectionProvider

getFieldReflectionProvider

FieldReflectionProvider getFieldReflectionProvider(Object target,
                                                   Class<?> clazz,
                                                   Field field)
Parameters:
target - Object where this field can be found. May be null if field is a static field.
clazz - Class where this field can be found.
field - Field to be wrapped by FieldReflectionProvider
Throws:
ReflectionProviderException
See Also:
FieldReflectionProvider

getAnnotatedElementReflectionProvider

AnnotatedElementReflectionProvider getAnnotatedElementReflectionProvider(AnnotatedElement element)
Parameters:
element - AnnotatedElement to be wrapped by AnnotatedElementReflectionProvider
Throws:
ReflectionProviderException
See Also:
AnnotatedElementReflectionProvider

getParameterizedElementProvider

ParameterizedElementReflectionProvider getParameterizedElementProvider(GenericTypeAccessor accessor)
Parameters:
accessor - Object that has the proper strategy to access class or field generic types.
Throws:
ReflectionProviderException
See Also:
ParameterizedElementReflectionProvider

getClassGenericTypeAccessor

GenericTypeAccessor getClassGenericTypeAccessor(Class<?> clazz)
Parameters:
clazz - Class to be reflected.
Throws:
ReflectionProviderException

getFieldGenericTypeAccessor

GenericTypeAccessor getFieldGenericTypeAccessor(Field field)
Parameters:
clazz - Field to be reflected.
Throws:
ReflectionProviderException

getProxyReflectionProvider

ProxyReflectionProvider getProxyReflectionProvider(Class<?> clazz,
                                                   List<Class<?>> interfaces,
                                                   MethodInterceptor... methodInterceptors)
Parameters:
clazz - Base inheritance class of the proxy
interfaces - List of the interfaces this proxy should implement
methodInterceptors - List of method interceptors
Throws:
ReflectionProviderException


Copyright © 2011 VidaGeek.net. All Rights Reserved.