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