Class ClassUtils

java.lang.Object
org.apache.myfaces.core.api.shared.lang.ClassUtils

public class ClassUtils extends Object
  • Field Details

    • 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 Details

    • ClassUtils

      public ClassUtils()
  • Method Details

    • 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)
      Same as classForName(String), but throws a RuntimeException (FacesException) instead of a ClassNotFoundException.
      Returns:
      the corresponding Class
      Throws:
      NullPointerException - if type is null
      FacesException - if class not found
    • 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
    • simpleJavaTypeToClass

      public static Class<?> simpleJavaTypeToClass(String type)
      Same as javaTypeToClass(String), but throws a RuntimeException (FacesException) instead of a ClassNotFoundException.
      Returns:
      the corresponding Class
      Throws:
      NullPointerException - if type is null
      FacesException - if class not found
    • 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) throws FacesException
      Throws:
      FacesException
    • newInstance

      public static Object newInstance(String type, Class<?> expectedType) throws FacesException
      Throws:
      FacesException
    • newInstance

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

      public static <T> T newInstance(Class<T> clazz) throws FacesException
      Throws:
      FacesException
    • newInstance

      public static <T> T newInstance(Class<T> clazz, Class<?>[] constructorArgClasses, Object... constructorArgs) throws NoSuchMethodException
      Throws:
      NoSuchMethodException
    • convertToType

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

      public static Object convertToTypeNoLogging(FacesContext facesContext, Object value, Class<?> desiredClass) throws Exception
      Throws:
      Exception
    • 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)
    • toTypeArray

      public static Class<?>[] toTypeArray(String[] s) throws ClassNotFoundException
      Converts an array of Class names to Class types
      Parameters:
      s -
      Returns:
      Throws:
      ClassNotFoundException
    • toTypeNameArray

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

      public static Class<?> forName(String name) throws ClassNotFoundException
      Throws:
      ClassNotFoundException