Package org.eclipse.jetty.util
Class TypeUtil
java.lang.Object
org.eclipse.jetty.util.TypeUtil
TYPE Utilities.
Provides various static utility methods for manipulating types and their
string representations.
- Since:
- Jetty 4.1
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> List<T>
asList
(T[] a) Array to List.static <T> Iterator<T>
static byte
convertHexDigit
(byte c) static int
convertHexDigit
(char c) static int
convertHexDigit
(int c) static void
static void
dump
(ClassLoader cl) static byte[]
Deprecated.static Class<?>
Class from a canonical name for a type.static URI
getClassLoaderLocation
(Class<?> clazz) static URI
getClassLoaderLocation
(Class<?> clazz, ClassLoader loader) static URI
getCodeSourceLocation
(Class<?> clazz) static URI
getLocationOfClass
(Class<?> clazz) Attempt to find the Location of a loaded Class.static URI
getModuleLocation
(Class<?> clazz) static URI
getSystemClassLoaderLocation
(Class<?> clazz) static boolean
static boolean
static byte[]
parseBytes
(String s, int base) Deprecated.useStringUtil.fromHexString(String)
insteadstatic int
parseInt
(byte[] b, int offset, int length, int base) Parse an int from a byte array of ascii characters.static int
Parse an int from a substring.static <T> Stream<ServiceLoader.Provider<T>>
serviceProviderStream
(ServiceLoader<T> serviceLoader) Utility to create a stream which provides the same functionality asServiceLoader.stream()
.static <T> Stream<T>
serviceStream
(ServiceLoader<T> serviceLoader) Utility method to provide a stream of the service type from aServiceLoader
.static String
toClassReference
(Class<?> clazz) Return the Classpath / Classloader reference for the provided class file.static String
toClassReference
(String className) Return the Classpath / Classloader reference for the provided class file.static void
toHex
(byte b, Appendable buf) static void
toHex
(int value, Appendable buf) static void
toHex
(long value, Appendable buf) static String
toHexString
(byte b) Deprecated.useStringUtil.toHexString(byte)
insteadstatic String
toHexString
(byte[] b) Deprecated.useStringUtil.toHexString(byte[])
insteadstatic String
toHexString
(byte[] b, int offset, int length) Deprecated.useStringUtil.toHexString(byte[], int, int)
insteadstatic String
Canonical name for a type.static String
toString
(byte[] bytes, int base) static Object
Convert String value to instance.static Object
Convert String value to instance.
-
Field Details
-
NO_ARGS
-
CR
public static final int CR- See Also:
-
LF
public static final int LF- See Also:
-
-
Constructor Details
-
TypeUtil
public TypeUtil()
-
-
Method Details
-
asList
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
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
Canonical name for a type.- Parameters:
type
- A class , which may be a primitive TYPE field.- Returns:
- Canonical name.
-
toClassReference
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
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
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
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
Parse 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:
NumberFormatException
- if the string cannot be parsed
-
parseInt
Parse 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:
NumberFormatException
- if the array cannot be parsed into an integer
-
parseBytes
Deprecated.useStringUtil.fromHexString(String)
instead -
toString
-
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
-
toHex
- Throws:
IOException
-
toHex
- Throws:
IOException
-
toHexString
Deprecated.useStringUtil.toHexString(byte)
instead -
toHexString
Deprecated.useStringUtil.toHexString(byte[])
instead -
toHexString
Deprecated.useStringUtil.toHexString(byte[], int, int)
instead -
fromHexString
Deprecated. -
dump
-
dump
-
isTrue
- 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
- 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
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
-
getClassLoaderLocation
-
getClassLoaderLocation
-
getCodeSourceLocation
-
getModuleLocation
-
concat
-
serviceStream
Utility method to provide a stream of the service type from aServiceLoader
. Log warnings will be given for anyServiceConfigurationError
s 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> Stream<ServiceLoader.Provider<T>> serviceProviderStream(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
-
StringUtil.fromHexString(String)