Package io.micronaut.aop
Enum Around.ProxyTargetConstructorMode
- java.lang.Object
-
- java.lang.Enum<Around.ProxyTargetConstructorMode>
-
- io.micronaut.aop.Around.ProxyTargetConstructorMode
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<Around.ProxyTargetConstructorMode>
- Enclosing class:
- Around
public static enum Around.ProxyTargetConstructorMode extends java.lang.Enum<Around.ProxyTargetConstructorMode>
When usingAround.proxyTarget()
on aFactory
method if the returned bean features constructor arguments this can lead to undefined behaviour since it is expected with factory methods that the developer is responsible for constructing the object.For example if the type accepts an argument of type
String
then there is no way for Micronaut to know what to inject as a value for the argument and injectingnull
is inherently unsafe.The
Around.ProxyTargetConstructorMode
allows the developer decide if they wish to allow proxies to be constructed and if a proxy is allowed then Micronaut will either inject a bean if it is found ornull
if is not. For primitive types Micronaut will injecttrue
for booleans and0
for number types
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Around.ProxyTargetConstructorMode
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static Around.ProxyTargetConstructorMode[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
ERROR
public static final Around.ProxyTargetConstructorMode ERROR
Do not allow types with constructor arguments to be proxied. This is the default behaviour and compilation will fail.
-
WARN
public static final Around.ProxyTargetConstructorMode WARN
Allow types to be proxied but print a warning when this feature is used.In this case if a constructor parameter cannot be injected Micronaut will inject
null
for objects orfalse
for boolean or0
for any other primitive.
-
ALLOW
public static final Around.ProxyTargetConstructorMode ALLOW
Allow types to be proxied and don't print any warnings.
-
-
Method Detail
-
values
public static Around.ProxyTargetConstructorMode[] 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 (Around.ProxyTargetConstructorMode c : Around.ProxyTargetConstructorMode.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static Around.ProxyTargetConstructorMode 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
-
-