Class ReflectionUtils


  • public class ReflectionUtils
    extends java.lang.Object
    Reflection utility methods.
    Author:
    Erhan Bagdemir
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.Object enhanceInstanceAt​(java.lang.reflect.Field field)  
      static <T> T executeMethod​(java.lang.reflect.Method method, java.lang.Object declaring, java.lang.Object... args)  
      static <T> T executeStaticMethod​(java.lang.reflect.Method method, java.lang.Object... args)  
      static <T extends java.lang.annotation.Annotation>
      Pair<java.util.Optional<java.lang.reflect.Field>,​T>
      findFieldByAnnotation​(java.lang.Class clazz, java.lang.Class<T> clazzA)  
      static <T extends java.lang.annotation.Annotation>
      java.util.Optional<T>
      getClassLevelAnnotation​(java.lang.Class clazz, java.lang.Class<T> annotation)  
      static <T extends java.lang.annotation.Annotation>
      java.util.List<Pair<java.lang.reflect.Field,​T>>
      getFieldsByAnnotation​(java.lang.Class clazz, java.lang.Class<T> clzAnnotation)
      get the list of annotations along with Field instances.
      static <T> java.util.Optional<T> instanceOf​(java.lang.Class<T> clazz)  
      static <T> void setValueAtInjectionPoint​(T object, java.lang.reflect.Field f, java.lang.Object simulationInstance)  
      • Methods inherited from class java.lang.Object

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

      • enhanceInstanceAt

        public static java.lang.Object enhanceInstanceAt​(java.lang.reflect.Field field)
      • setValueAtInjectionPoint

        public static <T> void setValueAtInjectionPoint​(T object,
                                                        java.lang.reflect.Field f,
                                                        java.lang.Object simulationInstance)
      • findFieldByAnnotation

        public static <T extends java.lang.annotation.Annotation> Pair<java.util.Optional<java.lang.reflect.Field>,​T> findFieldByAnnotation​(java.lang.Class clazz,
                                                                                                                                                  java.lang.Class<T> clazzA)
      • getFieldsByAnnotation

        public static <T extends java.lang.annotation.Annotation> java.util.List<Pair<java.lang.reflect.Field,​T>> getFieldsByAnnotation​(java.lang.Class clazz,
                                                                                                                                              java.lang.Class<T> clzAnnotation)
        get the list of annotations along with Field instances.
      • getClassLevelAnnotation

        public static <T extends java.lang.annotation.Annotation> java.util.Optional<T> getClassLevelAnnotation​(java.lang.Class clazz,
                                                                                                                java.lang.Class<T> annotation)
      • instanceOf

        public static <T> java.util.Optional<T> instanceOf​(java.lang.Class<T> clazz)
      • executeMethod

        public static <T> T executeMethod​(java.lang.reflect.Method method,
                                          java.lang.Object declaring,
                                          java.lang.Object... args)
      • executeStaticMethod

        public static <T> T executeStaticMethod​(java.lang.reflect.Method method,
                                                java.lang.Object... args)