Package net.bytebuddy.utility
Enum JavaType
- java.lang.Object
-
- java.lang.Enum<JavaType>
-
- net.bytebuddy.utility.JavaType
-
-
Enum Constant Summary
Enum Constants Enum Constant Description CALL_SITE
The Java 7java.lang.invoke.CallSite
type.CLASS_DESCRIPTION
The Java 12java.lang.constant.ClassDesc
type.CONSTABLE
The Java 12java.lang.constant.Constable
type.CONSTANT_DESCRIPTION
The Java 12java.lang.constant.ConstableDesc
type.DIRECT_METHOD_HANDLE_DESCRIPTION
The Java 12java.lang.constant.DirectMethodHandleDesc
type.DYNAMIC_CONSTANT_DESCRIPTION
The Java 12java.lang.constant.DynamicConstantDesc
type.EXECUTABLE
The Java 7java.lang.reflect.Executable
type.METHOD_HANDLE
The Java 7java.lang.invoke.MethodHandle
type.METHOD_HANDLE_DESCRIPTION
The Java 12java.lang.constant.MethodHandleDesc
type.METHOD_HANDLES
The Java 7java.lang.invoke.MethodHandles
type.METHOD_HANDLES_LOOKUP
The Java 7java.lang.invoke.MethodTypes.Lookup
type.METHOD_TYPE
The Java 7java.lang.invoke.MethodType
type.METHOD_TYPE_DESCRIPTION
The Java 12java.lang.constant.MethodTypeDesc
type.MODULE
The Java 9java.lang.Module
type.OBJECT_METHODS
The Java 14java.lang.runtime.ObjectMethods
type.PARAMETER
The Java 8java.lang.reflect.Parameter
type.RECORD
The Java 14java.lang.Record
type.TYPE_DESCRIPTOR
The Java 12java.lang.invoke.TypeDescriptor
type.TYPE_DESCRIPTOR_OF_FIELD
The Java 12java.lang.invoke.TypeDescriptor$OfMethod
type.TYPE_DESCRIPTOR_OF_METHOD
The Java 12java.lang.invoke.TypeDescriptor$OfMethod
type.VAR_HANDLE
The Java 9java.lang.invoke.VarHandle
type.
-
Field Summary
Fields Modifier and Type Field Description private TypeDescription
typeDescription
The type description to represent this type which is either a loaded type or a stub.
-
Constructor Summary
Constructors Modifier Constructor Description private
JavaType(java.lang.String typeName, int modifiers, java.lang.reflect.Type superClass, java.lang.reflect.Type... anInterface)
Creates a new java type representation.private
JavaType(java.lang.String typeName, int modifiers, TypeDefinition superClass, TypeDefinition... anInterface)
Creates a new java type representation.private
JavaType(java.lang.String typeName, int modifiers, TypeDescription.Generic superClass, TypeList.Generic interfaces)
Creates a new java type representation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description TypeDescription
getTypeStub()
Returns at least a stub representing this type where the stub does not define any methods or fields.boolean
isAvailable()
Returnstrue
if this type is available on the current JVM.boolean
isInstance(java.lang.Object instance)
Checks if the supplied object is an instance of this type.java.lang.Class<?>
load()
Loads the class that is represented by this Java type.TypeDescription
loadAsDescription()
Loads the class that is represented by this Java type and represents it as aTypeDescription
.static JavaType
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static JavaType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
CONSTABLE
public static final JavaType CONSTABLE
The Java 12java.lang.constant.Constable
type.
-
TYPE_DESCRIPTOR
public static final JavaType TYPE_DESCRIPTOR
The Java 12java.lang.invoke.TypeDescriptor
type.
-
TYPE_DESCRIPTOR_OF_FIELD
public static final JavaType TYPE_DESCRIPTOR_OF_FIELD
The Java 12java.lang.invoke.TypeDescriptor$OfMethod
type.
-
TYPE_DESCRIPTOR_OF_METHOD
public static final JavaType TYPE_DESCRIPTOR_OF_METHOD
The Java 12java.lang.invoke.TypeDescriptor$OfMethod
type.
-
CONSTANT_DESCRIPTION
public static final JavaType CONSTANT_DESCRIPTION
The Java 12java.lang.constant.ConstableDesc
type.
-
DYNAMIC_CONSTANT_DESCRIPTION
public static final JavaType DYNAMIC_CONSTANT_DESCRIPTION
The Java 12java.lang.constant.DynamicConstantDesc
type.
-
CLASS_DESCRIPTION
public static final JavaType CLASS_DESCRIPTION
The Java 12java.lang.constant.ClassDesc
type.
-
METHOD_TYPE_DESCRIPTION
public static final JavaType METHOD_TYPE_DESCRIPTION
The Java 12java.lang.constant.MethodTypeDesc
type.
-
METHOD_HANDLE_DESCRIPTION
public static final JavaType METHOD_HANDLE_DESCRIPTION
The Java 12java.lang.constant.MethodHandleDesc
type.
-
DIRECT_METHOD_HANDLE_DESCRIPTION
public static final JavaType DIRECT_METHOD_HANDLE_DESCRIPTION
The Java 12java.lang.constant.DirectMethodHandleDesc
type.
-
METHOD_HANDLE
public static final JavaType METHOD_HANDLE
The Java 7java.lang.invoke.MethodHandle
type.
-
METHOD_HANDLES
public static final JavaType METHOD_HANDLES
The Java 7java.lang.invoke.MethodHandles
type.
-
METHOD_TYPE
public static final JavaType METHOD_TYPE
The Java 7java.lang.invoke.MethodType
type.
-
METHOD_HANDLES_LOOKUP
public static final JavaType METHOD_HANDLES_LOOKUP
The Java 7java.lang.invoke.MethodTypes.Lookup
type.
-
CALL_SITE
public static final JavaType CALL_SITE
The Java 7java.lang.invoke.CallSite
type.
-
VAR_HANDLE
public static final JavaType VAR_HANDLE
The Java 9java.lang.invoke.VarHandle
type.
-
PARAMETER
public static final JavaType PARAMETER
The Java 8java.lang.reflect.Parameter
type.
-
EXECUTABLE
public static final JavaType EXECUTABLE
The Java 7java.lang.reflect.Executable
type.
-
MODULE
public static final JavaType MODULE
The Java 9java.lang.Module
type.
-
RECORD
public static final JavaType RECORD
The Java 14java.lang.Record
type.
-
OBJECT_METHODS
public static final JavaType OBJECT_METHODS
The Java 14java.lang.runtime.ObjectMethods
type.
-
-
Field Detail
-
typeDescription
private final TypeDescription typeDescription
The type description to represent this type which is either a loaded type or a stub.
-
-
Constructor Detail
-
JavaType
private JavaType(java.lang.String typeName, int modifiers, java.lang.reflect.Type superClass, java.lang.reflect.Type... anInterface)
Creates a new java type representation.- Parameters:
typeName
- The binary name of this type.modifiers
- The modifiers of this type when creating a stub.superClass
- The super class of this type when creating a stub.anInterface
- The interfaces of this type when creating a stub.
-
JavaType
private JavaType(java.lang.String typeName, int modifiers, TypeDefinition superClass, TypeDefinition... anInterface)
Creates a new java type representation.- Parameters:
typeName
- The binary name of this type.modifiers
- The modifiers of this type when creating a stub.superClass
- The super class of this type when creating a stub.anInterface
- The interfaces of this type when creating a stub.
-
JavaType
private JavaType(java.lang.String typeName, int modifiers, TypeDescription.Generic superClass, TypeList.Generic interfaces)
Creates a new java type representation.- Parameters:
typeName
- The binary name of this type.modifiers
- The modifiers of this type when creating a stub.superClass
- The super class of this type when creating a stub.interfaces
- The interfaces of this type when creating a stub.
-
-
Method Detail
-
values
public static JavaType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (JavaType c : JavaType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static JavaType valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
getTypeStub
public TypeDescription getTypeStub()
Returns at least a stub representing this type where the stub does not define any methods or fields. If a type exists for the current runtime, a loaded type representation is returned.- Returns:
- A type description for this Java type.
-
load
@Enhance("loaded") public java.lang.Class<?> load() throws java.lang.ClassNotFoundException
Loads the class that is represented by this Java type.- Returns:
- A loaded type of this Java type.
- Throws:
java.lang.ClassNotFoundException
- If the represented type cannot be loaded.
-
loadAsDescription
public TypeDescription loadAsDescription() throws java.lang.ClassNotFoundException
Loads the class that is represented by this Java type and represents it as aTypeDescription
.- Returns:
- A loaded type of this Java type.
- Throws:
java.lang.ClassNotFoundException
- If the represented type cannot be loaded.
-
isAvailable
@Enhance("available") public boolean isAvailable()
Returnstrue
if this type is available on the current JVM.- Returns:
true
if this type is available on the current JVM.
-
isInstance
public boolean isInstance(java.lang.Object instance)
Checks if the supplied object is an instance of this type.- Parameters:
instance
- The instance to check.- Returns:
true
if the supplied object is an instance of this type.
-
-