de.fub.bytecode.classfile
Class ConstantValue

java.lang.Object
  |
  +--de.fub.bytecode.classfile.Attribute
        |
        +--de.fub.bytecode.classfile.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, i.e., a default value for initializing a class field. This class is instantiated by the Attribute.readAttribute() method.

Version:
$Id: ConstantValue.java,v 1.3 2001/05/09 09:26:57 dahm Exp $
Author:
M. Dahm
See Also:
Attribute

Fields inherited from class de.fub.bytecode.classfile.Attribute
constant_pool, length, name_index, tag
 
Constructor Summary
ConstantValue(ConstantValue c)
          Initialize from another object.
ConstantValue(int name_index, int length, int constantvalue_index, ConstantPool constant_pool)
           
 
Method Summary
 void accept(Visitor v)
          Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
 Attribute copy(ConstantPool constant_pool)
           
 void dump(java.io.DataOutputStream file)
          Dump constant value attribute to file stream on binary format.
 int getConstantValueIndex()
           
 void setConstantValueIndex(int constantvalue_index)
           
 java.lang.String toString()
           
 
Methods inherited from class de.fub.bytecode.classfile.Attribute
clone, getConstantPool, getLength, getNameIndex, getTag, setConstantPool, setLength, setNameIndex
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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.

ConstantValue

public ConstantValue(int name_index,
                     int length,
                     int constantvalue_index,
                     ConstantPool constant_pool)
Parameters:
name_index - Name index in constant pool
length - Content length in bytes
constantvalue_index - Index in constant pool
constant_pool - Array of constants
Method Detail

accept

public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
Overrides:
accept in class Attribute
Parameters:
v - Visitor object

dump

public final void dump(java.io.DataOutputStream file)
                throws java.io.IOException
Dump constant value attribute to file stream on binary format.
Overrides:
dump in class Attribute
Parameters:
file - Output file stream

getConstantValueIndex

public final int getConstantValueIndex()
Returns:
Index in constant pool of constant value.

setConstantValueIndex

public final void setConstantValueIndex(int constantvalue_index)
Parameters:
constantvalue_index. -  

toString

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

copy

public Attribute copy(ConstantPool constant_pool)
Overrides:
copy in class Attribute
Returns:
deep copy of this attribute