Package com.google.inject.internal
Enum InternalFlags.CustomClassLoadingOption
- java.lang.Object
-
- java.lang.Enum<InternalFlags.CustomClassLoadingOption>
-
- com.google.inject.internal.InternalFlags.CustomClassLoadingOption
-
- All Implemented Interfaces:
Serializable
,Comparable<InternalFlags.CustomClassLoadingOption>
- Enclosing class:
- InternalFlags
public static enum InternalFlags.CustomClassLoadingOption extends Enum<InternalFlags.CustomClassLoadingOption>
The options for Guice custom class loading.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description ANONYMOUS
Define fast/enhanced types with Unsafe.defineAnonymousClass, never creates class loaders.BRIDGE
Attempt to define fast/enhanced types in the same class loader as their original type.CHILD
Define fast/enhanced types in a child class loader whose parent is the original class loader.OFF
Define fast/enhanced types in the same class loader as their original type, never creates class loaders.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static InternalFlags.CustomClassLoadingOption
valueOf(String name)
Returns the enum constant of this type with the specified name.static InternalFlags.CustomClassLoadingOption[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
OFF
public static final InternalFlags.CustomClassLoadingOption OFF
Define fast/enhanced types in the same class loader as their original type, never creates class loaders. Uses Unsafe.defineAnonymousClass to gain access to existing class loaders.
-
ANONYMOUS
public static final InternalFlags.CustomClassLoadingOption ANONYMOUS
Define fast/enhanced types with Unsafe.defineAnonymousClass, never creates class loaders. This is faster than regular class loading and anonymous classes are easier to unload.Note: with this option you cannot look up fast/enhanced types by name or mock/spy them.
-
BRIDGE
public static final InternalFlags.CustomClassLoadingOption BRIDGE
Attempt to define fast/enhanced types in the same class loader as their original type. Otherwise creates a child class loader whose parent is the original class loader. (Default)
-
CHILD
public static final InternalFlags.CustomClassLoadingOption CHILD
Define fast/enhanced types in a child class loader whose parent is the original class loader.Note: with this option you cannot intercept package-private methods.
-
-
Method Detail
-
values
public static InternalFlags.CustomClassLoadingOption[] 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 (InternalFlags.CustomClassLoadingOption c : InternalFlags.CustomClassLoadingOption.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static InternalFlags.CustomClassLoadingOption valueOf(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:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
-