Package org.apache.myfaces.util.lang
Class ClassUtils
java.lang.Object
org.apache.myfaces.core.api.shared.lang.ClassUtils
org.apache.myfaces.util.lang.ClassUtils
-
Field Summary
Fields inherited from class org.apache.myfaces.core.api.shared.lang.ClassUtils
BOOLEAN_ARRAY_CLASS, BOOLEAN_OBJECT_ARRAY_CLASS, BYTE_ARRAY_CLASS, BYTE_OBJECT_ARRAY_CLASS, CHAR_ARRAY_CLASS, CHARACTER_OBJECT_ARRAY_CLASS, COMMON_TYPES, DOUBLE_ARRAY_CLASS, DOUBLE_OBJECT_ARRAY_CLASS, EMPTY_STRING, FLOAT_ARRAY_CLASS, FLOAT_OBJECT_ARRAY_CLASS, INT_ARRAY_CLASS, INTEGER_OBJECT_ARRAY_CLASS, LONG_ARRAY_CLASS, LONG_OBJECT_ARRAY_CLASS, OBJECT_ARRAY_CLASS, PRIMITIVE_NAMES, PRIMITIVES, SHORT_ARRAY_CLASS, SHORT_OBJECT_ARRAY_CLASS, STRING_OBJECT_ARRAY_CLASS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> T
buildApplicationObject
(Class<T> interfaceClass, Class<? extends T> extendedInterfaceClass, Class<? extends T> extendedInterfaceWrapperClass, Collection<String> classNamesIterator, T defaultObject) Creates ApplicationObjects like NavigationHandler or StateManager and creates the right wrapping chain of the ApplicationObjects known as the decorator pattern.static <T> T
buildApplicationObject
(Class<T> interfaceClass, Collection<String> classNamesIterator, T defaultObject) Creates ApplicationObjects like NavigationHandler or StateManager and creates the right wrapping chain of the ApplicationObjects known as the decorator pattern.static <T> Class<T>
classForName
(String type) 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.static URL
getResource
(String resource) static InputStream
getResourceAsStream
(String resource) protected static final String
paramString
(Class<?>... types) static Class
simpleClassForName
(String type) Same asclassForName(String)
, but throws a RuntimeException (FacesException) instead of a ClassNotFoundException.static Class
simpleClassForName
(String type, boolean logException) Same as {linksimpleClassForName(String)
, but will only log the exception and rethrow a RunTimeException if logException is true.static <T> T
wrapBackwardCompatible
(Class<T> interfaceClass, Class<? extends T> extendedInterfaceClass, Class<? extends T> extendedInterfaceWrapperClass, T defaultObject, T newCurrent) Wrap an object using a backwards compatible wrapper if availableMethods inherited from class org.apache.myfaces.core.api.shared.lang.ClassUtils
convertToType, convertToTypeNoLogging, forName, forNamePrimitive, getContextClassLoader, getCurrentLoader, getCurrentLoader, getResources, javaDefaultTypeToClass, javaTypeToClass, newInstance, newInstance, newInstance, newInstance, newInstance, simpleJavaTypeToClass, toTypeArray, toTypeNameArray
-
Constructor Details
-
ClassUtils
public ClassUtils()
-
-
Method Details
-
buildApplicationObject
public static <T> T buildApplicationObject(Class<T> interfaceClass, Collection<String> classNamesIterator, T defaultObject) Creates ApplicationObjects like NavigationHandler or StateManager and creates the right wrapping chain of the ApplicationObjects known as the decorator pattern.- Type Parameters:
T
-- Parameters:
interfaceClass
- The class from which the implementation has to inherit from.classNamesIterator
- All the class names of the actual ApplicationObject implementations from the faces-config.xml.defaultObject
- The default implementation for the given ApplicationObject.- Returns:
-
buildApplicationObject
public static <T> T buildApplicationObject(Class<T> interfaceClass, Class<? extends T> extendedInterfaceClass, Class<? extends T> extendedInterfaceWrapperClass, Collection<String> classNamesIterator, T defaultObject) Creates ApplicationObjects like NavigationHandler or StateManager and creates the right wrapping chain of the ApplicationObjects known as the decorator pattern.- Type Parameters:
T
-- Parameters:
interfaceClass
- The class from which the implementation has to inherit from.extendedInterfaceClass
- A subclass of interfaceClass which specifies a more detailed implementation.extendedInterfaceWrapperClass
- A wrapper class for the case that you have an ApplicationObject which only implements the interfaceClass but not the extendedInterfaceClass.classNamesIterator
- All the class names of the actual ApplicationObject implementations from the faces-config.xml.defaultObject
- The default implementation for the given ApplicationObject.- Returns:
-
wrapBackwardCompatible
public static <T> T wrapBackwardCompatible(Class<T> interfaceClass, Class<? extends T> extendedInterfaceClass, Class<? extends T> extendedInterfaceWrapperClass, T defaultObject, T newCurrent) Wrap an object using a backwards compatible wrapper if available- Parameters:
interfaceClass
- The class from which the implementation has to inherit from.extendedInterfaceClass
- A subclass of interfaceClass which specifies a more detailed implementation.extendedInterfaceWrapperClass
- A wrapper class for the case that you have an ApplicationObject which only implements the interfaceClass but not the extendedInterfaceClass.defaultObject
- The default implementation for the given ApplicationObject.newCurrent
- The new current object- Returns:
-
classForName
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 nullClassNotFoundException
-
simpleClassForName
Same asclassForName(String)
, but throws a RuntimeException (FacesException) instead of a ClassNotFoundException.- Returns:
- the corresponding Class
- Throws:
NullPointerException
- if type is nullFacesException
- if class not found
-
simpleClassForName
Same as {linksimpleClassForName(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
-
getResource
-
getResourceAsStream
-
paramString
-