Class ReflectionUtil

java.lang.Object
org.summerboot.jexpress.util.ReflectionUtil

public class ReflectionUtil extends Object
Author:
Changski Tie Zheng Zhang 张铁铮, 魏泽北, 杜旺财, 杜富贵
  • Constructor Details

    • ReflectionUtil

      public ReflectionUtil()
  • Method Details

    • getAllImplementationsByInterface

      public static <T> Set<Class<? extends T>> getAllImplementationsByInterface(Class<T> interfaceClass, String rootPackageName)
    • getAllImplementationsByAnnotation

      public static Set<Class<?>> getAllImplementationsByAnnotation(Class<? extends Annotation> annotation, String rootPackageName)
    • loadField

      public static void loadField(Object instance, Field field, String value, boolean autoDecrypt, boolean isEmailRecipients) throws IllegalAccessException
      Load config settings with @Config, supported Java types:
      
       1. T, K: enum, String, boolean/Boolean, byte/Byte, char/short/Short, int/Integer,
       long/Long, float/Float, double/Double, BigDecimal, URI, URL, Path, File
       2. <T>[] array
      
       3. Immutable Set, Immutable SortedSet<T>
      
       4. Immutable List<T>
      
       5. Immutable Map<T, K>
      
       6. KeyManagerFactory
      
       7. TrustManagerFactory
       
      Parameters:
      instance -
      field -
      value -
      autoDecrypt -
      isEmailRecipients -
      Throws:
      IllegalAccessException
    • toJavaType

      public static Object toJavaType(Class targetClass, Type genericType, String value, boolean autoDecrypt, boolean isEmailRecipients, EnumConvert.To enumConvert) throws IllegalAccessException
      Throws:
      IllegalAccessException
    • toStandardJavaType

      public static Object toStandardJavaType(String value, Class targetClass, boolean autoDecrypt, boolean isEmailRecipients, EnumConvert.To enumConvert)
      T: enum, String, boolean/Boolean, byte/Byte, short/Short, int/Integer, long/Long, float/Float, double/Double, BigDecimal, URI, URL, Path, File
      Parameters:
      value -
      targetClass -
      autoDecrypt - auto decrypt value in ENC() format if true
      enumConvert -
      isEmailRecipients -
      Returns:
    • loadFields

      public static void loadFields(Class targetClass, Class fieldClass, Map results, boolean includeClassName) throws IllegalArgumentException, IllegalAccessException
      Throws:
      IllegalArgumentException
      IllegalAccessException
    • getRootPackageName

      public static String getRootPackageName(Class callerClass)