public static enum ConstructorStrategy.Default extends Enum<ConstructorStrategy.Default> implements ConstructorStrategy
MethodAttributeAppender.Factory
.Modifier and Type | Class and Description |
---|---|
protected static class |
ConstructorStrategy.Default.WithMethodAttributeAppenderFactory
A wrapper for a default constructor strategy which additionally applies a method attribute appender factory.
|
ConstructorStrategy.Default
Enum Constant and Description |
---|
DEFAULT_CONSTRUCTOR
This strategy is adding a default constructor that calls it's super types default constructor.
|
IMITATE_SUPER_CLASS
This strategy is adding all constructors of the instrumented type's super class where each constructor is
directly invoking its signature-equivalent super class constructor.
|
IMITATE_SUPER_CLASS_PUBLIC
This strategy is adding all constructors of the instrumented type's super class where each constructor is
directly invoking its signature-equivalent super class constructor.
|
NO_CONSTRUCTORS
This strategy is adding no constructors such that the instrumented type will by default not have any.
|
Modifier and Type | Method and Description |
---|---|
protected abstract List<MethodDescription.Token> |
doExtractConstructors(TypeDescription instrumentedType)
Extracts the relevant method tokens of the instrumented type's constructors.
|
protected abstract MethodRegistry |
doInject(MethodRegistry methodRegistry,
MethodAttributeAppender.Factory methodAttributeAppenderFactory)
Applies the actual injection with a method attribute appender factory supplied.
|
List<MethodDescription.Token> |
extractConstructors(TypeDescription instrumentedType)
Extracts constructors for a given super type.
|
MethodRegistry |
inject(MethodRegistry methodRegistry)
Returns a method registry that is capable of creating byte code for the constructors that were
provided by the
ConstructorStrategy.extractConstructors(TypeDescription)
method of this instance. |
String |
toString() |
static ConstructorStrategy.Default |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static ConstructorStrategy.Default[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
ConstructorStrategy |
with(MethodAttributeAppender.Factory methodAttributeAppenderFactory)
Returns a constructor strategy that supplies the supplied method attribute appender factory.
|
ConstructorStrategy |
withInheritedAnnotations()
Applies this constructor strategy while retaining any of the base constructor's annotations.
|
public static final ConstructorStrategy.Default NO_CONSTRUCTORS
public static final ConstructorStrategy.Default DEFAULT_CONSTRUCTOR
IllegalArgumentException
is thrown. Note that the default constructor
needs to be visible to its sub type for this strategy to work.public static final ConstructorStrategy.Default IMITATE_SUPER_CLASS
public static final ConstructorStrategy.Default IMITATE_SUPER_CLASS_PUBLIC
public
constructors are
added.public static ConstructorStrategy.Default[] values()
for (ConstructorStrategy.Default c : ConstructorStrategy.Default.values()) System.out.println(c);
public static ConstructorStrategy.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 nullpublic List<MethodDescription.Token> extractConstructors(TypeDescription instrumentedType)
ConstructorStrategy
extractConstructors
in interface ConstructorStrategy
instrumentedType
- The type for which the constructors should be created.protected abstract List<MethodDescription.Token> doExtractConstructors(TypeDescription instrumentedType)
instrumentedType
- The type for which to extract the constructors.public MethodRegistry inject(MethodRegistry methodRegistry)
ConstructorStrategy
ConstructorStrategy.extractConstructors(TypeDescription)
method of this instance.inject
in interface ConstructorStrategy
methodRegistry
- The original method registry.protected abstract MethodRegistry doInject(MethodRegistry methodRegistry, MethodAttributeAppender.Factory methodAttributeAppenderFactory)
methodRegistry
- The method registry into which to inject the constructors.methodAttributeAppenderFactory
- The method attribute appender to use.public ConstructorStrategy with(MethodAttributeAppender.Factory methodAttributeAppenderFactory)
methodAttributeAppenderFactory
- The method attribute appender factory to use.public ConstructorStrategy withInheritedAnnotations()
public String toString()
toString
in class Enum<ConstructorStrategy.Default>
Copyright © 2014–2016. All rights reserved.