- java.lang.Object
-
- org.eclipse.jetty.util.TypeUtil
-
public class TypeUtil extends java.lang.ObjectTYPE Utilities. Provides various static utility methods for manipulating types and their string representations.- Since:
- Jetty 4.1
-
-
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 <T> java.util.Iterator<T>concat(java.util.Iterator<T> i1, java.util.Iterator<T> i2)static byteconvertHexDigit(byte c)static intconvertHexDigit(char c)static intconvertHexDigit(int c)static voiddump(java.lang.Class<?> c)static voiddump(java.lang.ClassLoader cl)static byte[]fromHexString(java.lang.String s)Deprecated.static java.lang.Class<?>fromName(java.lang.String name)Class from a canonical name for a type.static java.net.URIgetClassLoaderLocation(java.lang.Class<?> clazz)static java.net.URIgetClassLoaderLocation(java.lang.Class<?> clazz, java.lang.ClassLoader loader)static java.net.URIgetCodeSourceLocation(java.lang.Class<?> clazz)static java.net.URIgetLocationOfClass(java.lang.Class<?> clazz)Attempt to find the Location of a loaded Class.static java.net.URIgetModuleLocation(java.lang.Class<?> clazz)static java.net.URIgetSystemClassLoaderLocation(java.lang.Class<?> clazz)static booleanisFalse(java.lang.Object o)static booleanisTrue(java.lang.Object o)static byte[]parseBytes(java.lang.String s, int base)Deprecated.useStringUtil.fromHexString(String)insteadstatic intparseInt(byte[] b, int offset, int length, int base)Parse an int from a byte array of ascii characters.static intparseInt(java.lang.String s, int offset, int length, int base)Parse an int from a substring.static <T> java.util.stream.Stream<java.util.ServiceLoader.Provider<T>>serviceProviderStream(java.util.ServiceLoader<T> serviceLoader)Utility to create a stream which provides the same functionality asServiceLoader.stream().static <T> java.util.stream.Stream<T>serviceStream(java.util.ServiceLoader<T> serviceLoader)Utility method to provide a stream of the service type from aServiceLoader.static java.lang.StringtoClassReference(java.lang.Class<?> clazz)Return the Classpath / Classloader reference for the provided class file.static java.lang.StringtoClassReference(java.lang.String className)Return the Classpath / Classloader reference for the provided class file.static voidtoHex(byte b, java.lang.Appendable buf)static voidtoHex(int value, java.lang.Appendable buf)static voidtoHex(long value, java.lang.Appendable buf)static java.lang.StringtoHexString(byte b)Deprecated.useStringUtil.toHexString(byte)insteadstatic java.lang.StringtoHexString(byte[] b)Deprecated.useStringUtil.toHexString(byte[])insteadstatic java.lang.StringtoHexString(byte[] b, int offset, int length)Deprecated.useStringUtil.toHexString(byte[], int, int)insteadstatic java.lang.StringtoName(java.lang.Class<?> type)Canonical name for a type.static java.lang.StringtoString(byte[] bytes, int base)static java.lang.ObjectvalueOf(java.lang.Class<?> type, java.lang.String value)Convert String value to instance.static java.lang.ObjectvalueOf(java.lang.String type, java.lang.String value)Convert String value to instance.
-
-
-
Field Detail
-
NO_ARGS
public static final java.lang.Class<?>[] NO_ARGS
-
CR
public static final int CR
- See Also:
- Constant Field Values
-
LF
public static final int LF
- See Also:
- Constant Field Values
-
-
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.NumberFormatExceptionParse an int from a substring. Negative numbers are not handled.- Parameters:
s- Stringoffset- Offset within stringlength- Length of integer or -1 for remainder of stringbase- 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.NumberFormatExceptionParse an int from a byte array of ascii characters. Negative numbers are not handled.- Parameters:
b- byte arrayoffset- Offset within stringlength- Length of integer or -1 for remainder of stringbase- base of the integer- Returns:
- the parsed integer
- Throws:
java.lang.NumberFormatException- if the array cannot be parsed into an integer
-
parseBytes
@Deprecated public static byte[] parseBytes(java.lang.String s, int base)Deprecated.useStringUtil.fromHexString(String)instead
-
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
@Deprecated public static java.lang.String toHexString(byte b)
Deprecated.useStringUtil.toHexString(byte)instead
-
toHexString
@Deprecated public static java.lang.String toHexString(byte[] b)
Deprecated.useStringUtil.toHexString(byte[])instead
-
toHexString
@Deprecated public static java.lang.String toHexString(byte[] b, int offset, int length)Deprecated.useStringUtil.toHexString(byte[], int, int)instead
-
fromHexString
@Deprecated public static byte[] fromHexString(java.lang.String s)
Deprecated.
-
dump
public static void dump(java.lang.Class<?> c)
-
dump
public static void dump(java.lang.ClassLoader cl)
-
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.
-
getSystemClassLoaderLocation
public static java.net.URI getSystemClassLoaderLocation(java.lang.Class<?> clazz)
-
getClassLoaderLocation
public static java.net.URI getClassLoaderLocation(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)
-
concat
public static <T> java.util.Iterator<T> concat(java.util.Iterator<T> i1, java.util.Iterator<T> i2)
-
serviceStream
public static <T> java.util.stream.Stream<T> serviceStream(java.util.ServiceLoader<T> serviceLoader)
Utility method to provide a stream of the service type from aServiceLoader. Log warnings will be given for anyServiceConfigurationErrors which occur when loading or instantiating the services.- Type Parameters:
T- the type of the service to load.- Parameters:
serviceLoader- the ServiceLoader instance to use.- Returns:
- a stream of the service type which will not throw
ServiceConfigurationError.
-
serviceProviderStream
public static <T> java.util.stream.Stream<java.util.ServiceLoader.Provider<T>> serviceProviderStream(java.util.ServiceLoader<T> serviceLoader)
Utility to create a stream which provides the same functionality asServiceLoader.stream(). However this also guards the case in whichIterator.hasNext()throws. Any exceptions from the underlying iterator will be cached until theServiceLoader.Provider.get()is called.- Type Parameters:
T- the type of the service to load.- Parameters:
serviceLoader- the ServiceLoader instance to use.- Returns:
- A stream that lazily loads providers for this loader's service
-
-