public static enum ClassLoadingStrategy.Default extends Enum<ClassLoadingStrategy.Default> implements ClassLoadingStrategy
ClassLoadingStrategy.Default
Enum Constant and Description |
---|
INJECTION
This strategy does not create a new class loader but injects all classes into the given
ClassLoader
by reflective access. |
WRAPPER
This strategy creates a new
ByteArrayClassLoader with the given
class loader as its parent. |
Modifier and Type | Method and Description |
---|---|
static ClassLoadingStrategy.Default |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static ClassLoadingStrategy.Default[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
load
public static final ClassLoadingStrategy.Default WRAPPER
ByteArrayClassLoader
with the given
class loader as its parent. The byte array class loader is aware of a any dynamically created type and can
natively load the given classes. This allows to load classes with cyclic load-time dependencies since the
byte array class loader is queried on each encountered unknown class. Due to the encapsulation of the
classes that were loaded by a byte array class loader, this strategy will lead to the unloading of these
classes once this class loader, its classes or any instances of these classes become unreachable.public static final ClassLoadingStrategy.Default INJECTION
ClassLoader
by reflective access. This prevents the loading of classes with cyclic load-time dependencies but avoids the
creation of an additional class loader. The advantage of this strategy is that the loaded classes will have
package-private access to other classes within their package of the class loader into which they are
injected what is not permitted when the wrapper class loader is used. This strategy is implemented using a
ClassLoaderByteArrayInjector
. Note that this strategy usually yields
a better runtime performance.public static ClassLoadingStrategy.Default[] values()
for (ClassLoadingStrategy.Default c : ClassLoadingStrategy.Default.values()) System.out.println(c);
public static ClassLoadingStrategy.Default valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullCopyright © 2014. All rights reserved.