@Documented @Retention(value=RUNTIME) @Target(value=PARAMETER) public @interface DefaultCallHandle
null
value is requested by setting a property.Modifier and Type | Optional Element and Description |
---|---|
boolean |
nullIfImpossible
Assigns
null to the parameter if it is impossible to invoke the super method or a possible dominant default method, if permitted. |
Class<?> |
targetType
If this parameter is not explicitly set, a parameter with the
DefaultCallHandle is only bound to a
source method if this source method directly represents an unambiguous, invokable default method. |
public abstract Class<?> targetType
DefaultCallHandle
is only bound to a
source method if this source method directly represents an unambiguous, invokable default method. On the other
hand, if a method is not defined unambiguously by an interface, not setting this parameter will exclude
the target method with the annotated parameter from a binding to the source method.
If this parameter is however set to an explicit interface type, a default method is always invoked on this given type as long as this type defines a method with a compatible signature. If this is not the case, the target method with the annotated parameter is no longer considered as a possible binding candidate of a source method.
void
type encodes an implicit resolution.public abstract boolean nullIfImpossible
null
to the parameter if it is impossible to invoke the super method or a possible dominant default method, if permitted.true
if a null
constant should be assigned to this parameter in case that a legal binding is impossible.Copyright © 2014–2025. All rights reserved.