net.vidageek.mirror.provider.experimental.sun15
Class Sun15ReflectionProvider

java.lang.Object
  extended by net.vidageek.mirror.provider.experimental.sun15.Sun15ReflectionProvider
All Implemented Interfaces:
ReflectionProvider

public final class Sun15ReflectionProvider
extends Object
implements ReflectionProvider

This is a ReflectionProvider implementation that relies on some sun.reflect classes to speedup reflection process.

Author:
jonasabreu

Constructor Summary
Sun15ReflectionProvider()
           
 
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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Sun15ReflectionProvider

public Sun15ReflectionProvider()
Method Detail

getAnnotatedElementReflectionProvider

public AnnotatedElementReflectionProvider getAnnotatedElementReflectionProvider(AnnotatedElement element)
Specified by:
getAnnotatedElementReflectionProvider in interface ReflectionProvider
Parameters:
element - AnnotatedElement to be wrapped by AnnotatedElementReflectionProvider
See Also:
AnnotatedElementReflectionProvider

getClassGenericTypeAccessor

public GenericTypeAccessor getClassGenericTypeAccessor(Class<?> clazz)
Specified by:
getClassGenericTypeAccessor in interface ReflectionProvider
Parameters:
clazz - Class to be reflected.

getClassReflectionProvider

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

getClassReflectionProvider

public <T> ClassReflectionProvider<T> getClassReflectionProvider(Class<T> clazz)
Specified by:
getClassReflectionProvider in interface ReflectionProvider
Parameters:
clazz - Class that is going to be wrapped by a ClassReflectionProvider.
See Also:
ClassReflectionProvider

getConstructorBypassingReflectionProvider

public <T> ConstructorBypassingReflectionProvider<T> getConstructorBypassingReflectionProvider(Class<T> clazz)
Specified by:
getConstructorBypassingReflectionProvider in interface ReflectionProvider
Parameters:
clazz - Class to be instantiated without a constructor.

getConstructorReflectionProvider

public <T> ConstructorReflectionProvider<T> getConstructorReflectionProvider(Class<T> clazz,
                                                                             Constructor<T> constructor)
Specified by:
getConstructorReflectionProvider in interface ReflectionProvider
Parameters:
clazz - Class of the constructor
constructor - constructor that is going to be wrapped by ConstructorReflectionProvider
See Also:
ConstructorReflectionProvider

getFieldGenericTypeAccessor

public GenericTypeAccessor getFieldGenericTypeAccessor(Field field)
Specified by:
getFieldGenericTypeAccessor in interface ReflectionProvider

getFieldReflectionProvider

public FieldReflectionProvider getFieldReflectionProvider(Object target,
                                                          Class<?> clazz,
                                                          Field field)
Specified by:
getFieldReflectionProvider in interface ReflectionProvider
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
See Also:
FieldReflectionProvider

getMethodReflectionProvider

public MethodReflectionProvider getMethodReflectionProvider(Object target,
                                                            Class<?> clazz,
                                                            Method method)
Specified by:
getMethodReflectionProvider in interface ReflectionProvider
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
See Also:
MethodReflectionProvider

getParameterizedElementProvider

public ParameterizedElementReflectionProvider getParameterizedElementProvider(GenericTypeAccessor accessor)
Specified by:
getParameterizedElementProvider in interface ReflectionProvider
Parameters:
accessor - Object that has the proper strategy to access class or field generic types.
See Also:
ParameterizedElementReflectionProvider

getProxyReflectionProvider

public ProxyReflectionProvider getProxyReflectionProvider(Class<?> clazz,
                                                          List<Class<?>> interfaces,
                                                          MethodInterceptor... methodInterceptors)
Specified by:
getProxyReflectionProvider in interface ReflectionProvider
Parameters:
clazz - Base inheritance class of the proxy
interfaces - List of the interfaces this proxy should implement
methodInterceptors - List of method interceptors


Copyright © 2011 VidaGeek.net. All Rights Reserved.