Class TypeUtil


  • public class TypeUtil
    extends java.lang.Object
    TYPE Utilities. Provides various static utility methods for manipulating types and their string representations.
    Since:
    Jetty 4.1
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int CR  
      static int LF  
      static java.lang.Class<?>[] NO_ARGS  
    • Constructor Summary

      Constructors 
      Constructor Description
      TypeUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static <T> java.util.List<T> asList​(T[] a)
      Array to List.
      static java.lang.Object call​(java.lang.Class<?> oClass, java.lang.String methodName, java.lang.Object obj, java.lang.Object[] arg)
      Deprecated.
      static java.lang.Object construct​(java.lang.Class<?> klass, java.lang.Object[] arguments)
      Deprecated.
      static java.lang.Object construct​(java.lang.Class<?> klass, java.lang.Object[] arguments, java.util.Map<java.lang.String,​java.lang.Object> namedArgMap)
      Deprecated.
      static byte convertHexDigit​(byte c)  
      static int convertHexDigit​(char c)  
      static int convertHexDigit​(int c)  
      static void dump​(java.lang.Class<?> c)  
      static void dump​(java.lang.ClassLoader cl)  
      static byte[] fromHexString​(java.lang.String s)  
      static java.lang.Class<?> fromName​(java.lang.String name)
      Class from a canonical name for a type.
      static java.net.URI getClassLoaderLocation​(java.lang.Class<?> clazz)  
      static java.net.URI getClassLoaderLocation​(java.lang.Class<?> clazz, java.lang.ClassLoader loader)  
      static java.net.URI getCodeSourceLocation​(java.lang.Class<?> clazz)  
      static java.net.URI getLocationOfClass​(java.lang.Class<?> clazz)
      Attempt to find the Location of a loaded Class.
      static java.net.URI getModuleLocation​(java.lang.Class<?> clazz)  
      static java.net.URI getSystemClassLoaderLocation​(java.lang.Class<?> clazz)  
      static boolean isFalse​(java.lang.Object o)  
      static boolean isTrue​(java.lang.Object o)  
      static byte[] parseBytes​(java.lang.String s, int base)  
      static int parseInt​(byte[] b, int offset, int length, int base)
      Parse an int from a byte array of ascii characters.
      static int parseInt​(java.lang.String s, int offset, int length, int base)
      Parse an int from a substring.
      static java.lang.String toClassReference​(java.lang.Class<?> clazz)
      Return the Classpath / Classloader reference for the provided class file.
      static java.lang.String toClassReference​(java.lang.String className)
      Return the Classpath / Classloader reference for the provided class file.
      static void toHex​(byte b, java.lang.Appendable buf)  
      static void toHex​(int value, java.lang.Appendable buf)  
      static void toHex​(long value, java.lang.Appendable buf)  
      static java.lang.String toHexString​(byte b)  
      static java.lang.String toHexString​(byte[] b)  
      static java.lang.String toHexString​(byte[] b, int offset, int length)  
      static java.lang.String toName​(java.lang.Class<?> type)
      Canonical name for a type.
      static java.lang.String toString​(byte[] bytes, int base)  
      static java.lang.Object valueOf​(java.lang.Class<?> type, java.lang.String value)
      Convert String value to instance.
      static java.lang.Object valueOf​(java.lang.String type, java.lang.String value)
      Convert String value to instance.
      • Methods inherited from class java.lang.Object

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

      • TypeUtil

        public TypeUtil()
    • Method Detail

      • asList

        public static <T> java.util.List<T> asList​(T[] a)
        Array to List.

        Works like Arrays.asList(Object...), but handles null arrays.

        Type Parameters:
        T - the array and list entry type
        Parameters:
        a - the array to convert to a list
        Returns:
        a list backed by the array.
      • fromName

        public static java.lang.Class<?> fromName​(java.lang.String name)
        Class from a canonical name for a type.
        Parameters:
        name - A class or type name.
        Returns:
        A class , which may be a primitive TYPE field..
      • toName

        public static java.lang.String toName​(java.lang.Class<?> type)
        Canonical name for a type.
        Parameters:
        type - A class , which may be a primitive TYPE field.
        Returns:
        Canonical name.
      • toClassReference

        public static java.lang.String toClassReference​(java.lang.Class<?> clazz)
        Return the Classpath / Classloader reference for the provided class file.

        Convenience method for the code

         String ref = myObject.getClass().getName().replace('.','/') + ".class";
         
        Parameters:
        clazz - the class to reference
        Returns:
        the classpath reference syntax for the class file
      • toClassReference

        public static java.lang.String toClassReference​(java.lang.String className)
        Return the Classpath / Classloader reference for the provided class file.

        Convenience method for the code

         String ref = myClassName.replace('.','/') + ".class";
         
        Parameters:
        className - the class to reference
        Returns:
        the classpath reference syntax for the class file
      • valueOf

        public static java.lang.Object valueOf​(java.lang.Class<?> type,
                                               java.lang.String value)
        Convert String value to instance.
        Parameters:
        type - The class of the instance, which may be a primitive TYPE field.
        value - The value as a string.
        Returns:
        The value as an Object.
      • valueOf

        public static java.lang.Object valueOf​(java.lang.String type,
                                               java.lang.String value)
        Convert String value to instance.
        Parameters:
        type - classname or type (eg int)
        value - The value as a string.
        Returns:
        The value as an Object.
      • parseInt

        public static int parseInt​(java.lang.String s,
                                   int offset,
                                   int length,
                                   int base)
                            throws java.lang.NumberFormatException
        Parse an int from a substring. Negative numbers are not handled.
        Parameters:
        s - String
        offset - Offset within string
        length - Length of integer or -1 for remainder of string
        base - base of the integer
        Returns:
        the parsed integer
        Throws:
        java.lang.NumberFormatException - if the string cannot be parsed
      • parseInt

        public static int parseInt​(byte[] b,
                                   int offset,
                                   int length,
                                   int base)
                            throws java.lang.NumberFormatException
        Parse an int from a byte array of ascii characters. Negative numbers are not handled.
        Parameters:
        b - byte array
        offset - Offset within string
        length - Length of integer or -1 for remainder of string
        base - base of the integer
        Returns:
        the parsed integer
        Throws:
        java.lang.NumberFormatException - if the array cannot be parsed into an integer
      • parseBytes

        public static byte[] parseBytes​(java.lang.String s,
                                        int base)
      • toString

        public static java.lang.String toString​(byte[] bytes,
                                                int base)
      • convertHexDigit

        public static byte convertHexDigit​(byte c)
        Parameters:
        c - An ASCII encoded character 0-9 a-f A-F
        Returns:
        The byte value of the character 0-16.
      • convertHexDigit

        public static int convertHexDigit​(char c)
        Parameters:
        c - An ASCII encoded character 0-9 a-f A-F
        Returns:
        The byte value of the character 0-16.
      • convertHexDigit

        public static int convertHexDigit​(int c)
        Parameters:
        c - An ASCII encoded character 0-9 a-f A-F
        Returns:
        The byte value of the character 0-16.
      • toHex

        public static void toHex​(byte b,
                                 java.lang.Appendable buf)
      • toHex

        public static void toHex​(int value,
                                 java.lang.Appendable buf)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • toHex

        public static void toHex​(long value,
                                 java.lang.Appendable buf)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • toHexString

        public static java.lang.String toHexString​(byte b)
      • toHexString

        public static java.lang.String toHexString​(byte[] b)
      • toHexString

        public static java.lang.String toHexString​(byte[] b,
                                                   int offset,
                                                   int length)
      • fromHexString

        public static byte[] fromHexString​(java.lang.String s)
      • dump

        public static void dump​(java.lang.Class<?> c)
      • dump

        public static void dump​(java.lang.ClassLoader cl)
      • call

        @Deprecated
        public static java.lang.Object call​(java.lang.Class<?> oClass,
                                            java.lang.String methodName,
                                            java.lang.Object obj,
                                            java.lang.Object[] arg)
                                     throws java.lang.reflect.InvocationTargetException,
                                            java.lang.NoSuchMethodException
        Deprecated.
        Throws:
        java.lang.reflect.InvocationTargetException
        java.lang.NoSuchMethodException
      • construct

        @Deprecated
        public static java.lang.Object construct​(java.lang.Class<?> klass,
                                                 java.lang.Object[] arguments)
                                          throws java.lang.reflect.InvocationTargetException,
                                                 java.lang.NoSuchMethodException
        Deprecated.
        Throws:
        java.lang.reflect.InvocationTargetException
        java.lang.NoSuchMethodException
      • construct

        @Deprecated
        public static java.lang.Object construct​(java.lang.Class<?> klass,
                                                 java.lang.Object[] arguments,
                                                 java.util.Map<java.lang.String,​java.lang.Object> namedArgMap)
                                          throws java.lang.reflect.InvocationTargetException,
                                                 java.lang.NoSuchMethodException
        Deprecated.
        Throws:
        java.lang.reflect.InvocationTargetException
        java.lang.NoSuchMethodException
      • isTrue

        public static boolean isTrue​(java.lang.Object o)
        Parameters:
        o - Object to test for true
        Returns:
        True if passed object is not null and is either a Boolean with value true or evaluates to a string that evaluates to true.
      • isFalse

        public static boolean isFalse​(java.lang.Object o)
        Parameters:
        o - Object to test for false
        Returns:
        True if passed object is not null and is either a Boolean with value false or evaluates to a string that evaluates to false.
      • getLocationOfClass

        public static java.net.URI getLocationOfClass​(java.lang.Class<?> clazz)
        Attempt to find the Location of a loaded Class.

        This can be null for primitives, void, and in-memory classes.

        Parameters:
        clazz - the loaded class to find a location for.
        Returns:
        the location as a URI (this is a URI pointing to a holder of the class: a directory, a jar file, a jrt:// resource, etc), or null of no location available.
      • getClassLoaderLocation

        public static java.net.URI getClassLoaderLocation​(java.lang.Class<?> clazz)
      • getSystemClassLoaderLocation

        public static java.net.URI getSystemClassLoaderLocation​(java.lang.Class<?> clazz)
      • getClassLoaderLocation

        public static java.net.URI getClassLoaderLocation​(java.lang.Class<?> clazz,
                                                          java.lang.ClassLoader loader)
      • getCodeSourceLocation

        public static java.net.URI getCodeSourceLocation​(java.lang.Class<?> clazz)
      • getModuleLocation

        public static java.net.URI getModuleLocation​(java.lang.Class<?> clazz)