Class ClassUtil


  • public class ClassUtil
    extends Object
    • Method Detail

      • getShortClassName

        public static String getShortClassName​(Class pClass,
                                               boolean shortenFreeMarkerClasses)
        Returns a class name without "java.lang." and "java.util." prefix, also shows array types in a format like int[]; useful for printing class names in error messages.
        Parameters:
        pClass - can be null, in which case the method returns null.
        shortenFreeMarkerClasses - if true, it will also shorten FreeMarker class names. The exact rules aren't specified and might change over time, but right now, freemarker.ext.beans.NumberModel for example becomes to f.e.b.NumberModel.
        Since:
        2.3.20
      • getShortClassNameOfObject

        public static String getShortClassNameOfObject​(Object obj,
                                                       boolean shortenFreeMarkerClasses)
        getShortClassName(Class, boolean) called with object.getClass(), but returns the fictional class name Null for a null value.
        Since:
        2.3.20
      • getFTLTypeDescription

        public static String getFTLTypeDescription​(TemplateModel tm)
        Returns the type description of a value with FTL terms (not plain class name), as it should be used in type-related error messages and for debugging purposes. The exact format is not specified and might change over time, but currently it's something like "string (wrapper: f.t.SimpleScalar)" or "sequence+hash+string (ArrayList wrapped into f.e.b.CollectionModel)".
        Since:
        2.3.20
      • primitiveClassToBoxingClass

        public static Class primitiveClassToBoxingClass​(Class primitiveClass)
        Gets the wrapper class for a primitive class, like Integer for int, also returns Void for void.
        Parameters:
        primitiveClass - A Class like int.type, boolean.type, etc. If it's not a primitive class, or it's null, then the parameter value is returned as is. Note that performance-wise the method assumes that it's a primitive class.
        Since:
        2.3.21
      • isNumerical

        public static boolean isNumerical​(Class type)
        Tells if a type is numerical; works both for primitive types and classes.
        Parameters:
        type - can't be null
        Since:
        2.3.21