Class ConstantValue

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

    public final class ConstantValue
    extends Attribute
    This class is derived from Attribute and represents a constant value, that is, a default value for initializing a class field. This class is instantiated by the Attribute.readAttribute() method.
     ConstantValue_attribute {
       u2 attribute_name_index;
       u4 attribute_length;
       u2 constantvalue_index;
     }
     
    See Also:
    Attribute
    • Field Detail

      • constantValueIndex

        private int constantValueIndex
    • Constructor Detail

      • ConstantValue

        public ConstantValue​(ConstantValue c)
        Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.
        Parameters:
        c - Source to copy.
      • ConstantValue

        ConstantValue​(int nameIndex,
                      int length,
                      java.io.DataInput input,
                      ConstantPool constantPool)
               throws java.io.IOException
        Constructs object from input stream.
        Parameters:
        nameIndex - Name 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.
      • ConstantValue

        public ConstantValue​(int nameIndex,
                             int length,
                             int constantValueIndex,
                             ConstantPool constantPool)
        Constructs a ConstantValue.
        Parameters:
        nameIndex - Name index in constant pool.
        length - Content length in bytes.
        constantValueIndex - Index in constant pool.
        constantPool - Array of constants.
    • Method Detail

      • 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. I.e., 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)
        Creates a deep copy of this attribute.
        Specified by:
        copy in class Attribute
        Parameters:
        constantPool - the constant pool.
        Returns:
        deep copy of this attribute.
      • dump

        public void dump​(java.io.DataOutputStream file)
                  throws java.io.IOException
        Dumps constant value attribute to file stream on binary format.
        Overrides:
        dump in class Attribute
        Parameters:
        file - Output file stream.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • getConstantValueIndex

        public int getConstantValueIndex()
        Gets the index in constant pool of constant value.
        Returns:
        Index in constant pool of constant value.
      • setConstantValueIndex

        public void setConstantValueIndex​(int constantValueIndex)
        Sets the constant value index.
        Parameters:
        constantValueIndex - the index info the constant pool of this constant value.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Attribute
        Returns:
        String representation of constant value.