Class BootstrapMethod

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class BootstrapMethod
    extends java.lang.Object
    implements java.lang.Cloneable
    This class represents a bootstrap method attribute, that is, the bootstrap method ref, the number of bootstrap arguments and an array of the bootstrap arguments.
    Since:
    6.0
    See Also:
    The class File Format : The BootstrapMethods Attribute
    • Field Detail

      • bootstrapMethodRef

        private int bootstrapMethodRef
        Index of the CONSTANT_MethodHandle_info structure in the constant_pool table
      • bootstrapArguments

        private int[] bootstrapArguments
        Array of references to the constant_pool table
    • Constructor Detail

      • BootstrapMethod

        public BootstrapMethod​(BootstrapMethod c)
        Initialize from another object.
        Parameters:
        c - Source to copy.
      • BootstrapMethod

        BootstrapMethod​(java.io.DataInput input)
                 throws java.io.IOException
        Constructs object from input stream.
        Parameters:
        input - Input stream.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • BootstrapMethod

        private BootstrapMethod​(int bootstrapMethodRef,
                                int numBootstrapArguments)
      • BootstrapMethod

        public BootstrapMethod​(int bootstrapMethodRef,
                               int[] bootstrapArguments)
        Constructs a BootstrapMethod.
        Parameters:
        bootstrapMethodRef - int index into constant_pool of CONSTANT_MethodHandle.
        bootstrapArguments - int[] indices into constant_pool of CONSTANT_[type]_info.
    • Method Detail

      • copy

        public BootstrapMethod copy()
        Creates a deep copy of this object.
        Returns:
        deep copy of this object.
      • dump

        public final void dump​(java.io.DataOutputStream file)
                        throws java.io.IOException
        Dumps object to file stream in binary format.
        Parameters:
        file - Output file stream.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • getBootstrapArguments

        public int[] getBootstrapArguments()
        Gets the bootstrap arguments.
        Returns:
        int[] of bootstrap_method indices into constant_pool of CONSTANT_[type]_info.
      • getBootstrapMethodRef

        public int getBootstrapMethodRef()
        Gets the bootstrap method reference.
        Returns:
        index into constant_pool of bootstrap_method.
      • getNumBootstrapArguments

        public int getNumBootstrapArguments()
        Gets the count of number of bootstrap arguments.
        Returns:
        count of number of bootstrap arguments.
      • setBootstrapArguments

        public void setBootstrapArguments​(int[] bootstrapArguments)
        Sets the bootstrap arguments.
        Parameters:
        bootstrapArguments - int[] indices into constant_pool of CONSTANT_[type]_info.
      • setBootstrapMethodRef

        public void setBootstrapMethodRef​(int bootstrapMethodRef)
        Sets the bootstrap method reference.
        Parameters:
        bootstrapMethodRef - int index into constant_pool of CONSTANT_MethodHandle.
      • toString

        public final java.lang.String toString()
        Gets a string representation.
        Overrides:
        toString in class java.lang.Object
        Returns:
        String representation.
      • toString

        public final java.lang.String toString​(ConstantPool constantPool)
        Gets a resolved string representation.
        Parameters:
        constantPool - the constant pool.
        Returns:
        Resolved string representation.