Class ClassUtils


  • public class ClassUtils
    extends Object
    • Field Detail

      • BOOLEAN_ARRAY_CLASS

        public static final Class<boolean[]> BOOLEAN_ARRAY_CLASS
      • BYTE_ARRAY_CLASS

        public static final Class<byte[]> BYTE_ARRAY_CLASS
      • CHAR_ARRAY_CLASS

        public static final Class<char[]> CHAR_ARRAY_CLASS
      • SHORT_ARRAY_CLASS

        public static final Class<short[]> SHORT_ARRAY_CLASS
      • INT_ARRAY_CLASS

        public static final Class<int[]> INT_ARRAY_CLASS
      • LONG_ARRAY_CLASS

        public static final Class<long[]> LONG_ARRAY_CLASS
      • FLOAT_ARRAY_CLASS

        public static final Class<float[]> FLOAT_ARRAY_CLASS
      • DOUBLE_ARRAY_CLASS

        public static final Class<double[]> DOUBLE_ARRAY_CLASS
      • OBJECT_ARRAY_CLASS

        public static final Class<Object[]> OBJECT_ARRAY_CLASS
      • BOOLEAN_OBJECT_ARRAY_CLASS

        public static final Class<Boolean[]> BOOLEAN_OBJECT_ARRAY_CLASS
      • BYTE_OBJECT_ARRAY_CLASS

        public static final Class<Byte[]> BYTE_OBJECT_ARRAY_CLASS
      • CHARACTER_OBJECT_ARRAY_CLASS

        public static final Class<Character[]> CHARACTER_OBJECT_ARRAY_CLASS
      • SHORT_OBJECT_ARRAY_CLASS

        public static final Class<Short[]> SHORT_OBJECT_ARRAY_CLASS
      • INTEGER_OBJECT_ARRAY_CLASS

        public static final Class<Integer[]> INTEGER_OBJECT_ARRAY_CLASS
      • LONG_OBJECT_ARRAY_CLASS

        public static final Class<Long[]> LONG_OBJECT_ARRAY_CLASS
      • FLOAT_OBJECT_ARRAY_CLASS

        public static final Class<Float[]> FLOAT_OBJECT_ARRAY_CLASS
      • DOUBLE_OBJECT_ARRAY_CLASS

        public static final Class<Double[]> DOUBLE_OBJECT_ARRAY_CLASS
      • STRING_OBJECT_ARRAY_CLASS

        public static final Class<String[]> STRING_OBJECT_ARRAY_CLASS
      • EMPTY_STRING

        protected static final String[] EMPTY_STRING
      • PRIMITIVE_NAMES

        protected static final String[] PRIMITIVE_NAMES
      • PRIMITIVES

        protected static final Class<?>[] PRIMITIVES
      • COMMON_TYPES

        public static final Map<String,​Class<?>> COMMON_TYPES
    • Constructor Detail

      • ClassUtils

        public ClassUtils()
    • Method Detail

      • classForName

        public static <T> Class<T> classForName​(String type)
                                         throws ClassNotFoundException
        Tries a Class.loadClass with the context class loader of the current thread first and automatically falls back to the ClassUtils class loader (i.e. the loader of the myfaces.jar lib) if necessary.
        Parameters:
        type - fully qualified name of a non-primitive non-array class
        Returns:
        the corresponding Class
        Throws:
        NullPointerException - if type is null
        ClassNotFoundException
      • simpleClassForName

        public static Class simpleClassForName​(String type,
                                               boolean logException)
        Same as {link simpleClassForName(String), but will only log the exception and rethrow a RunTimeException if logException is true.
        Parameters:
        type -
        logException - - true to log/throw FacesException, false to avoid logging/throwing FacesException
        Returns:
        the corresponding Class
        Throws:
        FacesException - if class not found and logException is true
      • javaTypeToClass

        public static Class<?> javaTypeToClass​(String type)
                                        throws ClassNotFoundException
        Similar as classForName(String), but also supports primitive types and arrays as specified for the JavaType element in the JavaServer Faces Config DTD.
        Parameters:
        type - fully qualified class name or name of a primitive type, both optionally followed by "[]" to indicate an array type
        Returns:
        the corresponding Class
        Throws:
        NullPointerException - if type is null
        ClassNotFoundException
      • javaDefaultTypeToClass

        public static Class javaDefaultTypeToClass​(String type)
                                            throws ClassNotFoundException
        This method is similar to shared ClassUtils.javaTypeToClass, but the default package for the type is java.lang
        Parameters:
        type -
        Returns:
        Throws:
        ClassNotFoundException
      • getResource

        public static URL getResource​(String resource)
      • getResourceAsStream

        public static InputStream getResourceAsStream​(String resource)
      • getResources

        public static Collection<URL> getResources​(String resource,
                                                   Object defaultObject)
        Parameters:
        resource - Name of resource(s) to find in classpath
        defaultObject - The default object to use to determine the class loader (if none associated with current thread.)
        Returns:
        Iterator over URL Objects
      • newInstance

        public static Object newInstance​(String type,
                                         Class<?>[] expectedTypes)
      • convertToType

        public static Object convertToType​(Object value,
                                           Class<?> desiredClass)
      • getCurrentLoader

        public static ClassLoader getCurrentLoader​(Object defaultObject)
        Gets the ClassLoader associated with the current thread. Returns the class loader associated with the specified default object if no context loader is associated with the current thread.
        Parameters:
        defaultObject - The default object to use to determine the class loader (if none associated with current thread.)
        Returns:
        ClassLoader
      • getCurrentLoader

        public static ClassLoader getCurrentLoader​(Class<?> clazz)
      • getContextClassLoader

        public static ClassLoader getContextClassLoader()
        Gets the ClassLoader associated with the current thread. Returns the class loader associated with the specified default object if no context loader is associated with the current thread.
        Returns:
        ClassLoader
      • forNamePrimitive

        public static Class<?> forNamePrimitive​(String name)
      • toTypeNameArray

        public static String[] toTypeNameArray​(Class<?>[] c)
        Converts an array of Class types to Class names
        Parameters:
        c -
        Returns: