public class ClassUtils
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.util.Map<java.lang.String,java.lang.Class> |
BASIC_TYPE_MAP |
static java.lang.String |
CLASS_EXTENSION
Default extension for class files.
|
static java.util.Map<java.lang.String,java.lang.Class> |
COMMON_CLASS_MAP |
static int |
EMPTY_OBJECT_ARRAY_HASH_CODE |
static java.lang.String |
PROPERTY_MICRONAUT_CLASSLOADER_LOGGING
System property to indicate whether classloader logging should be activated.
|
static org.slf4j.Logger |
REFLECTION_LOGGER
A logger that should be used for any reflection access.
|
Constructor and Description |
---|
ClassUtils() |
Modifier and Type | Method and Description |
---|---|
static java.util.Optional<java.lang.Class> |
arrayTypeForPrimitive(java.lang.String primitiveType)
Returns the array type for the given primitive type name.
|
static java.util.Optional<java.lang.Class> |
forName(java.lang.String name,
java.lang.ClassLoader classLoader)
Attempt to load a class for the given name from the given class loader.
|
static org.slf4j.Logger |
getLogger(java.lang.Class type)
Special case
getLogger method that should be used by classes that are used in the annotation processor. |
static java.util.Optional<java.lang.Class> |
getPrimitiveType(java.lang.String primitiveType)
The primitive type for the given type name.
|
static boolean |
isJavaBasicType(java.lang.Class<?> type)
Expanded version of
isJavaLangType(Class) that includes common Java types like URI . |
static boolean |
isJavaBasicType(java.lang.String name)
Expanded version of
isJavaLangType(Class) that includes common Java types like URI . |
static boolean |
isJavaLangType(java.lang.Class type)
Return whether the given class is a common type found in java.lang such as String or a primitive type.
|
static boolean |
isJavaLangType(java.lang.String typeName)
Return whether the given class is a common type found in java.lang such as String or a primitive type.
|
static boolean |
isPresent(java.lang.String name,
java.lang.ClassLoader classLoader)
Check whether the given class is present in the given classloader.
|
static java.lang.String |
pathToClassName(java.lang.String path)
Converts a URI to a class file reference to the class name
|
static java.util.List<java.lang.Class> |
resolveHierarchy(java.lang.Class<?> type)
Builds a class hierarchy that includes all super classes
and interfaces that the given class implements or extends from.
|
public static final java.lang.String PROPERTY_MICRONAUT_CLASSLOADER_LOGGING
public static final int EMPTY_OBJECT_ARRAY_HASH_CODE
public static final java.util.Map<java.lang.String,java.lang.Class> COMMON_CLASS_MAP
public static final java.util.Map<java.lang.String,java.lang.Class> BASIC_TYPE_MAP
public static final java.lang.String CLASS_EXTENSION
public static final org.slf4j.Logger REFLECTION_LOGGER
@NonNull public static org.slf4j.Logger getLogger(@NonNull java.lang.Class type)
getLogger
method that should be used by classes that are used in the annotation processor.type
- The type@NonNull public static java.util.Optional<java.lang.Class> arrayTypeForPrimitive(java.lang.String primitiveType)
primitiveType
- The primitive type namepublic static java.lang.String pathToClassName(java.lang.String path)
Converts a URI to a class file reference to the class name
.
ie. ClassUtils.pathToClassName("foo/bar/MyClass.class") == "foo.bar.MyClass"
path
- The path namepublic static boolean isPresent(java.lang.String name, @Nullable java.lang.ClassLoader classLoader)
name
- The name of the classclassLoader
- The classloader. If null will fallback to attempt the thread context loader, otherwise the system loaderpublic static boolean isJavaLangType(java.lang.Class type)
type
- The typepublic static boolean isJavaLangType(java.lang.String typeName)
typeName
- The type namepublic static boolean isJavaBasicType(@Nullable java.lang.Class<?> type)
isJavaLangType(Class)
that includes common Java types like URI
.type
- The URIpublic static boolean isJavaBasicType(@Nullable java.lang.String name)
isJavaLangType(Class)
that includes common Java types like URI
.name
- The name of the typepublic static java.util.Optional<java.lang.Class> getPrimitiveType(java.lang.String primitiveType)
Byte.TYPE
.primitiveType
- The type namepublic static java.util.Optional<java.lang.Class> forName(java.lang.String name, @Nullable java.lang.ClassLoader classLoader)
name
- The name of the classclassLoader
- The classloader. If null will fallback to attempt the thread context loader, otherwise the system loaderpublic static java.util.List<java.lang.Class> resolveHierarchy(java.lang.Class<?> type)
type
- The class to start with