Class ClassUtils


  • public class ClassUtils
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.util.List<java.lang.Class<?>> OPTIONAL_TYPES  
      private static java.util.List<java.lang.Class<?>> PRIMITIVE_WRAPPER_TYPES
      Lists primitive wrapper Classes.
    • Constructor Summary

      Constructors 
      Constructor Description
      ClassUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.List<java.lang.Class<?>> getAllInterfaces​(java.lang.Class<?> cls)
      Gets a List of all interfaces implemented by the given class and its superclasses.
      (package private) static void getAllInterfaces​(java.lang.Class<?> cls, java.util.HashSet<java.lang.Class<?>> interfacesFound)
      Get the interfaces for the specified class.
      static java.util.List<java.lang.Class<?>> getAllSuperclasses​(java.lang.Class<?> cls)
      Gets a List of superclasses for the given class.
      static boolean isInJavaLangPackage​(java.lang.Class<?> type)
      Returns whether the given type belongs to the java.lang package itself or one of its subpackage.
      static boolean isOptionalOrPrimitiveOptional​(java.lang.Class<?> type)
      Returns whether the given type is a primitive or primitive wrapper (Optional, OptionalInt, OptionalLong, OptionalDouble).
      static boolean isPrimitiveOrWrapper​(java.lang.Class<?> type)
      Returns whether the given type is a primitive or primitive wrapper (Boolean, Byte, Character, Short, Integer, Long, Double, Float, Void).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • PRIMITIVE_WRAPPER_TYPES

        private static final java.util.List<java.lang.Class<?>> PRIMITIVE_WRAPPER_TYPES
        Lists primitive wrapper Classes.
      • OPTIONAL_TYPES

        private static final java.util.List<java.lang.Class<?>> OPTIONAL_TYPES
    • Constructor Detail

      • ClassUtils

        public ClassUtils()
    • Method Detail

      • getAllSuperclasses

        public static java.util.List<java.lang.Class<?>> getAllSuperclasses​(java.lang.Class<?> cls)

        Gets a List of superclasses for the given class.

        Parameters:
        cls - the class to look up, may be null
        Returns:
        the List of superclasses in order going up from this one null if null input
      • getAllInterfaces

        public static java.util.List<java.lang.Class<?>> getAllInterfaces​(java.lang.Class<?> cls)

        Gets a List of all interfaces implemented by the given class and its superclasses.

        The order is determined by looking through each interface in turn as declared in the source file and following its hierarchy up. Then each superclass is considered in the same way. Later duplicates are ignored, so the order is maintained.

        Parameters:
        cls - the class to look up, may be null
        Returns:
        the List of interfaces in order, null if null input
      • getAllInterfaces

        static void getAllInterfaces​(java.lang.Class<?> cls,
                                     java.util.HashSet<java.lang.Class<?>> interfacesFound)
        Get the interfaces for the specified class.
        Parameters:
        cls - the class to look up, may be null
        interfacesFound - the Set of interfaces for the class
      • isPrimitiveOrWrapper

        public static boolean isPrimitiveOrWrapper​(java.lang.Class<?> type)
        Returns whether the given type is a primitive or primitive wrapper (Boolean, Byte, Character, Short, Integer, Long, Double, Float, Void).

        Returns false if passed null since the method can't evaluate the class.

        Inspired from apache commons-lang ClassUtils

        Parameters:
        type - The class to query or null.
        Returns:
        true if the given type is a primitive or primitive wrapper (Boolean, Byte, Character, Short, Integer, Long, Double, Float, Void).
        Since:
        3.24.0
      • isOptionalOrPrimitiveOptional

        public static boolean isOptionalOrPrimitiveOptional​(java.lang.Class<?> type)
        Returns whether the given type is a primitive or primitive wrapper (Optional, OptionalInt, OptionalLong, OptionalDouble).

        Returns false if passed null since the method can't evaluate the class.

        Parameters:
        type - The class to query or null.
        Returns:
        true if the given type is a primitive or primitive wrapper (Optional, OptionalInt, OptionalLong, OptionalDouble).
        Since:
        3.24.0
      • isInJavaLangPackage

        public static boolean isInJavaLangPackage​(java.lang.Class<?> type)
        Returns whether the given type belongs to the java.lang package itself or one of its subpackage.
        Parameters:
        type - The class to check or null.
        Returns:
        true the given type belongs to the java.lang package itself or one of its subpackage, false otherwise.
        Since:
        3.25.0