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
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> List<T>
asList
(T[] a) Array to List.static int
ceilToNextPowerOfTwo
(int value) Get the next highest power of twostatic <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 <T> Predicate<T>
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
isDeclaredMethodOn
(Object object, String methodName, Class<?>... args) Test is a method has been declared on the class of an instancestatic boolean
static boolean
static boolean
static <T> ListIterator<T>
listIteratorAtEnd
(List<T> list) Returns aListIterator
positioned at the last item in a list.static 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
toShortName
(Class<?> type) static String
toString
(byte[] bytes, int base) static <T> Predicate<T>
A Predicate that is always true, with optimizedand
/or
/not
methods.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:
-
-
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.
-
listIteratorAtEnd
Returns a
ListIterator
positioned at the last item in a list.- Type Parameters:
T
- the element type- Parameters:
list
- the list- Returns:
- A
ListIterator
positioned at the last item of the list.
-
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..
-
toShortName
-
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
-
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.
-
isHex
-
toHex
-
toHex
- Throws:
IOException
-
toHex
- Throws:
IOException
-
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
-
truePredicate
A Predicate that is always true, with optimizedand
/or
/not
methods.- Type Parameters:
T
- The type of the predicate test- Returns:
- true
-
falsePredicate
- Type Parameters:
T
- The type of the predicate test- Returns:
- true
-
ceilToNextPowerOfTwo
public static int ceilToNextPowerOfTwo(int value) Get the next highest power of two- Parameters:
value
- An integer- Returns:
- a power of two that is greater than or equal to
value
-
isDeclaredMethodOn
Test is a method has been declared on the class of an instance- Parameters:
object
- The object to checkmethodName
- The method nameargs
- The arguments to the method- Returns:
true
iffClass.getDeclaredMethod(String, Class[])
can be called on theClass
of the object, without throwingNoSuchMethodException
.
-