Class ClassUtils


  • public final class ClassUtils
    extends ClassUtils
    • Constructor Detail

      • ClassUtils

        public ClassUtils()
    • Method Detail

      • 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:
      • paramString

        protected static final String paramString​(Class<?>... types)