Class ClassUtils


  • public class ClassUtils
    extends Object
    Utility method library used to conveniently interact with Classes, such as acquiring them from the application ClassLoaders and instantiating Objects from them.
    Since:
    0.1
    • Constructor Detail

      • ClassUtils

        public ClassUtils()
    • Method Detail

      • getResourceAsStream

        public static InputStream getResourceAsStream​(String name)
        Returns the specified resource by checking the current thread's context class loader, then the current ClassLoader (ClassUtils.class.getClassLoader()), then the system/application ClassLoader (ClassLoader.getSystemClassLoader(), in that order, using getResourceAsStream(name).
        Parameters:
        name - the name of the resource to acquire from the classloader(s).
        Returns:
        the InputStream of the resource found, or null if the resource cannot be found from any of the three mentioned ClassLoaders.
        Since:
        0.9
      • forName

        public static Class forName​(String fqcn)
                             throws UnknownClassException
        Attempts to load the specified class name from the current thread's context class loader, then the current ClassLoader (ClassUtils.class.getClassLoader()), then the system/application ClassLoader (ClassLoader.getSystemClassLoader(), in that order. If any of them cannot locate the specified class, an UnknownClassException is thrown (our RuntimeException equivalent of the JRE's ClassNotFoundException.
        Parameters:
        fqcn - the fully qualified class name to load
        Returns:
        the located class
        Throws:
        UnknownClassException - if the class cannot be found.
      • isAvailable

        public static boolean isAvailable​(String fullyQualifiedClassName)
      • newInstance

        public static Object newInstance​(String fqcn)
      • newInstance

        public static Object newInstance​(Class clazz)
      • getAnnotatedMethods

        public static List<Method> getAnnotatedMethods​(Class<?> type,
                                                       Class<? extends Annotation> annotation)
        Parameters:
        type -
        annotation -
        Returns:
        Since:
        1.3