Enum PrimitiveBoxingDelegate

java.lang.Object
java.lang.Enum<PrimitiveBoxingDelegate>
net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate
All Implemented Interfaces:
Serializable, Comparable<PrimitiveBoxingDelegate>, java.lang.constant.Constable

public enum PrimitiveBoxingDelegate extends Enum<PrimitiveBoxingDelegate>
This delegate is responsible for boxing a primitive types to their wrapper equivalents.
  • Enum Constant Details

  • Field Details

    • wrapperType

      private final TypeDescription wrapperType
      A description of a wrapper type.
    • size

      private final StackManipulation.Size size
      The size decrease after a primitive type was wrapped.
    • boxingMethodName

      private final String boxingMethodName
      The name of the method for boxing a primitive value as its wrapper type.
    • boxingMethodDescriptor

      private final String boxingMethodDescriptor
      The descriptor of the method for boxing a primitive value as its wrapper type.
  • Constructor Details

    • PrimitiveBoxingDelegate

      private PrimitiveBoxingDelegate(Class<?> wrapperType, StackSize sizeDifference, String boxingMethodName, String boxingMethodDescriptor)
      Creates a new primitive boxing delegate.
      Parameters:
      wrapperType - A description of a wrapper type.
      sizeDifference - The size difference between a primitive type and its wrapper type.
      boxingMethodName - The name of the method for boxing a primitive value as its wrapper type.
      boxingMethodDescriptor - The descriptor of the method for boxing a primitive value as its wrapper type.
  • Method Details

    • values

      public static PrimitiveBoxingDelegate[] 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 PrimitiveBoxingDelegate 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
    • forPrimitive

      public static PrimitiveBoxingDelegate forPrimitive(TypeDefinition typeDefinition)
      Locates a boxing delegate for a given primitive type.
      Parameters:
      typeDefinition - A non-void primitive type.
      Returns:
      A delegate capable of boxing the given primitive type.
    • assignBoxedTo

      public StackManipulation assignBoxedTo(TypeDescription.Generic target, Assigner chainedAssigner, Assigner.Typing typing)
      Creates a stack manipulation that boxes the represented primitive type and applies a chained assignment to the result of this boxing operation.
      Parameters:
      target - The type that is target of the assignment operation.
      chainedAssigner - The assigner that is to be used to perform the chained assignment.
      typing - Determines if an assignment to an incompatible type should be enforced by a casting.
      Returns:
      A stack manipulation that represents the described assignment operation.