Enum SuperMethodCall

java.lang.Object
java.lang.Enum<SuperMethodCall>
net.bytebuddy.implementation.SuperMethodCall
All Implemented Interfaces:
Serializable, Comparable<SuperMethodCall>, java.lang.constant.Constable, InstrumentedType.Prepareable, Implementation, Implementation.Composable

public enum SuperMethodCall extends Enum<SuperMethodCall> implements Implementation.Composable
This implementation will create a new method which simply calls its super method. If no such method is defined, an exception will be thrown. Constructors are considered to have a super method if the direct super class defines a constructor with an identical signature. Default methods are invoked as such if they are non-ambiguous. Static methods can have a (pseudo) super method if a type that defines such a method is rebased. Rebased types can also shadow constructors or methods of an actual super class. Besides implementing constructors, this implementation is useful when a method of a super type is not supposed to be altered but should be equipped with additional annotations. Furthermore, this implementation allows to hard code a super method call to be performed after performing another Implementation.
  • Enum Constant Details

    • INSTANCE

      public static final SuperMethodCall INSTANCE
      The singleton instance.
  • Constructor Details

    • SuperMethodCall

      private SuperMethodCall()
  • Method Details

    • values

      public static SuperMethodCall[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static SuperMethodCall valueOf(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:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • prepare

      public InstrumentedType prepare(InstrumentedType instrumentedType)
      Prepares a given instrumented type.
      Specified by:
      prepare in interface InstrumentedType.Prepareable
      Parameters:
      instrumentedType - The instrumented type in its current form.
      Returns:
      The prepared instrumented type.
    • appender

      public ByteCodeAppender appender(Implementation.Target implementationTarget)
      Creates a byte code appender that determines the implementation of the instrumented type's methods.
      Specified by:
      appender in interface Implementation
      Parameters:
      implementationTarget - The target of the current implementation.
      Returns:
      A byte code appender for implementing methods delegated to this implementation. This byte code appender is also responsible for handling methods that were added by this implementation on the call to InstrumentedType.Prepareable.prepare(InstrumentedType).
    • andThen

      public Implementation andThen(Implementation implementation)
      Appends the supplied implementation to this implementation.
      Specified by:
      andThen in interface Implementation.Composable
      Parameters:
      implementation - The subsequent implementation.
      Returns:
      An implementation that combines this implementation with the provided one.
    • andThen

      public Implementation.Composable andThen(Implementation.Composable implementation)
      Appends the supplied composable implementation to this implementation.
      Specified by:
      andThen in interface Implementation.Composable
      Parameters:
      implementation - The subsequent composable implementation.
      Returns:
      A composable implementation that combines this implementation with the provided one.