Annotation Type Morph


  • @Documented
    @Retention(RUNTIME)
    @Target(PARAMETER)
    public @interface Morph
    This annotation instructs Byte Buddy to inject a proxy class that calls a method's super method with explicit arguments. For this, the Morph.Binder needs to be installed for an interface type that takes an argument of the array type Object and returns a non-array type of Object. This is an alternative to using the SuperCall or DefaultCall annotations which call a super method using the same arguments as the intercepted method was invoked with.
    See Also:
    MethodDelegation, TargetMethodAnnotationDrivenBinder
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean defaultMethod
      Determines if the proxy should attempt to invoke a default method.
      java.lang.Class<?> defaultTarget
      The type on which a default method should be invoked.
      boolean serializableProxy
      Determines if the injected proxy for this parameter should be serializable.
    • Element Detail

      • serializableProxy

        boolean serializableProxy
        Determines if the injected proxy for this parameter should be serializable.
        Returns:
        true if the proxy should be serializable.
        Default:
        false
      • defaultMethod

        boolean defaultMethod
        Determines if the proxy should attempt to invoke a default method. If the default method is ambiguous, use the defaultTarget() property instead which allows to determine an explicit interface on which the default method should be invoked on. If this other method is used, this property is ignored.
        Returns:
        true if a default method should be ignored.
        Default:
        false
      • defaultTarget

        java.lang.Class<?> defaultTarget
        The type on which a default method should be invoked. When this property is not set and the defaultMethod() property is set to false, a normal super method invocation is attempted.
        Returns:
        The target interface of a default method call.
        Default:
        void.class