Package net.bytebuddy.utility
Enum AsmClassWriter.Factory.Default
- java.lang.Object
-
- java.lang.Enum<AsmClassWriter.Factory.Default>
-
- net.bytebuddy.utility.AsmClassWriter.Factory.Default
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<AsmClassWriter.Factory.Default>
,AsmClassWriter.Factory
- Enclosing interface:
- AsmClassWriter.Factory
public static enum AsmClassWriter.Factory.Default extends java.lang.Enum<AsmClassWriter.Factory.Default> implements AsmClassWriter.Factory
Default implementations for factories ofAsmClassWriter
s.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
AsmClassWriter.Factory.Default.EmptyAsmClassReader
An empty class reader for ASM that never unwraps an underlying implementation.static class
AsmClassWriter.Factory.Default.NonRetainingAsmClassReader
A class reader that does not retain a compatibleAsmClassWriter
implementation.-
Nested classes/interfaces inherited from interface net.bytebuddy.utility.AsmClassWriter.Factory
AsmClassWriter.Factory.Default, AsmClassWriter.Factory.Suppressing
-
-
Enum Constant Summary
Enum Constants Enum Constant Description ASM_FIRST
A factory for a class reader that uses ASM's internal implementation whenever possible.ASM_ONLY
A factory that will always use ASM's internal implementation.CLASS_FILE_API_FIRST
A factory for a class writer that uses the class file API whenever possible.CLASS_FILE_API_ONLY
A factory that will always use the Class File API.IMPLICIT
Uses a processor as it is configured byOpenedClassReader.PROCESSOR_PROPERTY
, orASM_FIRST
if no implicit processor is defined.
-
Field Summary
Fields Modifier and Type Field Description private static AsmClassWriter.Factory
FACTORY
The implicit factory to use for writing class files.private static java.lang.Class<?>
JDK_CLASS_READER
Thecodes.rafael.asmjdkbridge.JdkClassReader
type ornull
if not available.
-
Constructor Summary
Constructors Modifier Constructor Description private
Default()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static <T> T
doPrivileged(java.security.PrivilegedAction<T> action)
A proxy forjava.security.AccessController#doPrivileged
that is activated if available.AsmClassWriter
make(int flags)
Creates a new class writer for the given flags.AsmClassWriter
make(int flags, TypePool typePool)
Creates a new class writer for the given flags.AsmClassWriter
make(int flags, AsmClassReader classReader)
Creates a new class writer for the given flags, possibly based on a previous class file representation.static AsmClassWriter.Factory.Default
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static AsmClassWriter.Factory.Default[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.-
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
-
Methods inherited from interface net.bytebuddy.utility.AsmClassWriter.Factory
make
-
-
-
-
Enum Constant Detail
-
IMPLICIT
public static final AsmClassWriter.Factory.Default IMPLICIT
Uses a processor as it is configured byOpenedClassReader.PROCESSOR_PROPERTY
, orASM_FIRST
if no implicit processor is defined.
-
ASM_FIRST
public static final AsmClassWriter.Factory.Default ASM_FIRST
A factory for a class reader that uses ASM's internal implementation whenever possible.
-
CLASS_FILE_API_FIRST
public static final AsmClassWriter.Factory.Default CLASS_FILE_API_FIRST
A factory for a class writer that uses the class file API whenever possible.
-
ASM_ONLY
public static final AsmClassWriter.Factory.Default ASM_ONLY
A factory that will always use ASM's internal implementation.
-
CLASS_FILE_API_ONLY
public static final AsmClassWriter.Factory.Default CLASS_FILE_API_ONLY
A factory that will always use the Class File API.
-
-
Field Detail
-
JDK_CLASS_READER
@MaybeNull private static final java.lang.Class<?> JDK_CLASS_READER
Thecodes.rafael.asmjdkbridge.JdkClassReader
type ornull
if not available.
-
FACTORY
private static final AsmClassWriter.Factory FACTORY
The implicit factory to use for writing class files.
-
-
Method Detail
-
values
public static AsmClassWriter.Factory.Default[] 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 (AsmClassWriter.Factory.Default c : AsmClassWriter.Factory.Default.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static AsmClassWriter.Factory.Default 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
-
doPrivileged
@MaybeNull @Enhance private static <T> T doPrivileged(java.security.PrivilegedAction<T> action)
A proxy forjava.security.AccessController#doPrivileged
that is activated if available.- Type Parameters:
T
- The type of the action's resolved value.- Parameters:
action
- The action to execute from a privileged context.- Returns:
- The action's resolved value.
-
make
public AsmClassWriter make(int flags)
Creates a new class writer for the given flags.- Specified by:
make
in interfaceAsmClassWriter.Factory
- Parameters:
flags
- The flags to consider while writing a class file.- Returns:
- An appropriate class writer.
-
make
public AsmClassWriter make(int flags, AsmClassReader classReader)
Creates a new class writer for the given flags, possibly based on a previous class file representation.- Specified by:
make
in interfaceAsmClassWriter.Factory
- Parameters:
flags
- The flags to consider while writing a class file.classReader
- A class reader to consider for writing a class file.- Returns:
- An appropriate class writer.
-
make
public AsmClassWriter make(int flags, TypePool typePool)
Creates a new class writer for the given flags.- Specified by:
make
in interfaceAsmClassWriter.Factory
- Parameters:
flags
- The flags to consider while writing a class file.typePool
- A type pool to use for resolving type information for frame generation.- Returns:
- An appropriate class writer.
-
-