public static enum Around.ProxyTargetConstructorMode extends Enum<Around.ProxyTargetConstructorMode>
Around.proxyTarget()
on a Factory
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 injecting null
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 or null
if is not. For primitive types Micronaut will inject true
for booleans and 0
for number types
Enum Constant and Description |
---|
ALLOW
Allow types to be proxied and don't print any warnings.
|
ERROR
Do not allow types with constructor arguments to be proxied.
|
WARN
Allow types to be proxied but print a warning when this feature is used.
|
Modifier and Type | Method and Description |
---|---|
static Around.ProxyTargetConstructorMode |
valueOf(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.
|
public static final Around.ProxyTargetConstructorMode ERROR
public static final Around.ProxyTargetConstructorMode WARN
In this case if a constructor parameter cannot be injected Micronaut will inject null
for objects or false
for boolean or 0
for any other primitive.
public static final Around.ProxyTargetConstructorMode ALLOW
public static Around.ProxyTargetConstructorMode[] values()
for (Around.ProxyTargetConstructorMode c : Around.ProxyTargetConstructorMode.values()) System.out.println(c);
public static Around.ProxyTargetConstructorMode 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 null