Class Record

  • All Implemented Interfaces:
    java.lang.Cloneable, Node

    public final class Record
    extends Attribute
    Extends Attribute and records the classes and interfaces that are authorized to claim membership in the nest hosted by the current class or interface. There may be at most one Record attribute in a ClassFile structure.
    Since:
    6.9.0
    See Also:
    Attribute
    • Constructor Detail

      • Record

        Record​(int nameIndex,
               int length,
               java.io.DataInput input,
               ConstantPool constantPool)
        throws java.io.IOException
        Constructs object from input stream.
        Parameters:
        nameIndex - Index in constant pool.
        length - Content length in bytes.
        input - Input stream.
        constantPool - Array of constants.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • Record

        public Record​(int nameIndex,
                      int length,
                      RecordComponentInfo[] classes,
                      ConstantPool constantPool)
        Constructs a new instance using components.
        Parameters:
        nameIndex - Index in constant pool.
        length - Content length in bytes.
        classes - Array of Record Component Info elements.
        constantPool - Array of constants.
    • Method Detail

      • readComponents

        private static RecordComponentInfo[] readComponents​(java.io.DataInput input,
                                                            ConstantPool constantPool)
                                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • accept

        public void accept​(Visitor v)
        Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. For example, the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
        Specified by:
        accept in interface Node
        Specified by:
        accept in class Attribute
        Parameters:
        v - Visitor object.
      • copy

        public Attribute copy​(ConstantPool constantPool)
        Copies this instance and its components.
        Specified by:
        copy in class Attribute
        Parameters:
        constantPool - constant pool to save.
        Returns:
        a deep copy of this instance and its components.
      • dump

        public void dump​(java.io.DataOutputStream file)
                  throws java.io.IOException
        Dumps this instance into a file stream in binary format.
        Overrides:
        dump in class Attribute
        Parameters:
        file - output stream.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • getComponents

        public RecordComponentInfo[] getComponents()
        Gets all the record components.
        Returns:
        array of Record Component Info elements.
      • toString

        public java.lang.String toString()
        Converts this instance to a String suitable for debugging.
        Overrides:
        toString in class Attribute
        Returns:
        String a String suitable for debugging.