Class FixedValue.ForValue

java.lang.Object
net.bytebuddy.implementation.FixedValue
net.bytebuddy.implementation.FixedValue.ForValue
All Implemented Interfaces:
InstrumentedType.Prepareable, FixedValue.AssignerConfigurable, Implementation
Enclosing class:
FixedValue

@Enhance protected static class FixedValue.ForValue extends FixedValue implements FixedValue.AssignerConfigurable
A fixed value implementation that represents its fixed value as a static field of the instrumented class.
  • Field Details

    • PREFIX

      private static final String PREFIX
      The prefix of the static field that is created for storing the fixed value.
      See Also:
    • name

      private final String name
      The name of the field in which the fixed value is stored.
    • value

      private final Object value
      The value that is to be stored in the static field.
  • Constructor Details

    • ForValue

      protected ForValue(Object value, String name)
      Creates a new static field fixed value implementation.
      Parameters:
      value - The fixed value to be returned.
      name - The name of the field for storing the fixed value.
    • ForValue

      private ForValue(Assigner assigner, Assigner.Typing typing, Object value, String name)
      Creates a new static field fixed value implementation.
      Parameters:
      assigner - The assigner to use for assigning the fixed value to the return type of the instrumented value.
      typing - Indicates if dynamic type castings should be attempted for incompatible assignments.
      value - The fixed value to be returned.
      name - The name of the field for storing the fixed value.
  • Method Details

    • withAssigner

      public Implementation withAssigner(Assigner assigner, Assigner.Typing typing)
      Defines an explicit assigner to this fixed value implementation.
      Specified by:
      withAssigner in interface FixedValue.AssignerConfigurable
      Parameters:
      assigner - The assigner to use for assigning the fixed value to the return type of the instrumented value.
      typing - Indicates if dynamic type castings should be attempted for incompatible assignments.
      Returns:
      A fixed value implementation that makes use of the given assigner.
    • 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).