Class ReflectionClass

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean assertDataType​(@NotNull java.lang.Class<?> childClass, @NotNull java.lang.Class<?> superClass)  
      static boolean assertDataType​(@NotNull java.lang.String childClass, @NotNull java.lang.Class<?> superClass)  
      static boolean belongsTo​(@NotNull java.lang.String clazzName, java.lang.String... packageNames)  
      static <T> Functions.Silencer<T> createObject​(@NotNull java.lang.Class<T> clazz, @NotNull Arguments arguments, @NotNull Functions.Silencer<T> silencer)  
      static <T> T createObject​(java.lang.Class<T> clazz)  
      static <T> T createObject​(java.lang.Class<T> clazz, Arguments arguments)  
      static <T> Functions.Silencer<T> createObject​(java.lang.Class<T> clazz, Functions.Silencer<T> silencer)  
      static <T> T createObject​(java.lang.String clazz)  
      static <T> T createObject​(java.lang.String clazz, @NotNull Arguments arguments)  
      static <T> java.lang.Class<T> findClass​(java.lang.String cls)  
      static <T> java.lang.Class<T> findClass​(java.lang.String cls, java.lang.ClassLoader... classLoaders)  
      static boolean hasClass​(java.lang.String cls)  
      static boolean hasClass​(java.lang.String cls, java.lang.ClassLoader... classLoaders)  
      static boolean isJavaLangObject​(@NotNull java.lang.Class<?> clazz)  
      static boolean isSystemClass​(java.lang.String clazzName)  
      static java.lang.Class<?> parsePrimitiveType​(java.lang.String className)
      Return the java Class object if the given class name is primitive
      static <T> java.util.stream.Stream<java.lang.Class<T>> stream​(ReflectionScanner scanner, java.lang.String pkgName, java.lang.Class<T> parentCls, @NotNull java.util.function.Predicate<java.lang.Class<T>> filter)  
      static <T> java.util.stream.Stream<java.lang.Class<T>> stream​(java.lang.String pkgName, java.lang.Class<T> parentCls)  
      static <T> java.util.stream.Stream<java.lang.Class<T>> stream​(java.lang.String pkgName, java.lang.Class<T> parentCls, @NotNull java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
      Scan all classes in given package that matches annotation and subclasses given parent class.
      static <T> java.util.stream.Stream<java.lang.Class<T>> stream​(java.lang.String pkgName, java.lang.Class<T> parentCls, @NotNull java.util.function.Predicate<java.lang.Class<T>> filter)  
      • Methods inherited from class java.lang.Object

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

      • assertDataType

        public static boolean assertDataType​(@NotNull
                                             @NotNull java.lang.String childClass,
                                             @NotNull
                                             @NotNull java.lang.Class<?> superClass)
        Parameters:
        childClass - Given child Class
        superClass - Give super Class
        Returns:
        true if childClass is primitive class or class that sub of superClass
        See Also:
        assertDataType(Class, Class)
      • assertDataType

        public static boolean assertDataType​(@NotNull
                                             @NotNull java.lang.Class<?> childClass,
                                             @NotNull
                                             @NotNull java.lang.Class<?> superClass)
        Parameters:
        childClass - Given child Class
        superClass - Give super Class
        Returns:
        true if childClass is primitive class or class that sub of superClass
        See Also:
        Class.isAssignableFrom(Class)
      • isSystemClass

        public static boolean isSystemClass​(java.lang.String clazzName)
      • belongsTo

        public static boolean belongsTo​(@NotNull
                                        @NotNull java.lang.String clazzName,
                                        java.lang.String... packageNames)
      • isJavaLangObject

        public static boolean isJavaLangObject​(@NotNull
                                               @NotNull java.lang.Class<?> clazz)
      • parsePrimitiveType

        public static java.lang.Class<?> parsePrimitiveType​(java.lang.String className)
        Return the java Class object if the given class name is primitive
        Parameters:
        className - The class name
        Returns:
        a primitive class or null if not primitive
      • stream

        public static <T> java.util.stream.Stream<java.lang.Class<T>> stream​(java.lang.String pkgName,
                                                                             java.lang.Class<T> parentCls)
      • stream

        public static <T> java.util.stream.Stream<java.lang.Class<T>> stream​(java.lang.String pkgName,
                                                                             java.lang.Class<T> parentCls,
                                                                             @NotNull
                                                                             @NotNull java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
        Scan all classes in given package that matches annotation and subclasses given parent class.
        Type Parameters:
        T - Type of output
        Parameters:
        pkgName - Given package name
        parentCls - Given parent class. May interface class, abstract class or null if none inherited
        annotationClass - Given annotation type class @Target(ElementType.TYPE_USE)
        Returns:
        List of matching class
      • stream

        public static <T> java.util.stream.Stream<java.lang.Class<T>> stream​(java.lang.String pkgName,
                                                                             java.lang.Class<T> parentCls,
                                                                             @NotNull
                                                                             @NotNull java.util.function.Predicate<java.lang.Class<T>> filter)
      • stream

        public static <T> java.util.stream.Stream<java.lang.Class<T>> stream​(ReflectionScanner scanner,
                                                                             java.lang.String pkgName,
                                                                             java.lang.Class<T> parentCls,
                                                                             @NotNull
                                                                             @NotNull java.util.function.Predicate<java.lang.Class<T>> filter)
      • hasClass

        public static boolean hasClass​(java.lang.String cls)
      • hasClass

        public static boolean hasClass​(java.lang.String cls,
                                       java.lang.ClassLoader... classLoaders)
      • findClass

        public static <T> java.lang.Class<T> findClass​(java.lang.String cls)
      • findClass

        public static <T> java.lang.Class<T> findClass​(java.lang.String cls,
                                                       java.lang.ClassLoader... classLoaders)
      • createObject

        public static <T> T createObject​(java.lang.String clazz)
      • createObject

        public static <T> T createObject​(java.lang.String clazz,
                                         @NotNull
                                         @NotNull Arguments arguments)
      • createObject

        public static <T> T createObject​(java.lang.Class<T> clazz)
      • createObject

        public static <T> T createObject​(java.lang.Class<T> clazz,
                                         Arguments arguments)