de.fub.bytecode.classfile
Class Attribute
java.lang.Object
|
+--de.fub.bytecode.classfile.Attribute
- All Implemented Interfaces:
- java.lang.Cloneable, Node
- Direct Known Subclasses:
- Code, ConstantValue, Deprecated, ExceptionTable, InnerClasses, LineNumberTable, LocalVariableTable, PMGClass, Signature, SourceFile, StackMap, Synthetic, Unknown
- public abstract class Attribute
- extends java.lang.Object
- implements java.lang.Cloneable, Node
Abstract super class for Attribute objects. Currently the
ConstantValue, SourceFile, Code,
Exceptiontable, LineNumberTable,
LocalVariableTable, InnerClasses and
Synthetic attributes are supported. The
Unknown attribute stands for non-standard-attributes.
- Version:
- $Id: Attribute.java,v 1.7 2001/08/02 12:46:28 dahm Exp $
- Author:
- M. Dahm
- See Also:
ConstantValue
,
SourceFile
,
Code
,
Unknown
,
ExceptionTable
,
LineNumberTable
,
LocalVariableTable
,
InnerClasses
,
Synthetic
,
Deprecated
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
name_index
protected int name_index
length
protected int length
tag
protected byte tag
constant_pool
protected ConstantPool constant_pool
accept
public abstract 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.
- Specified by:
accept
in interface Node
- Parameters:
v
- Visitor object
dump
public void dump(java.io.DataOutputStream file)
throws java.io.IOException
- Dump attribute to file stream in binary format.
- Parameters:
file
- Output file stream
getLength
public final int getLength()
- Returns:
- Length of attribute field in bytes.
setLength
public final void setLength(int length)
- Parameters:
Attribute
- length in bytes.
setNameIndex
public final void setNameIndex(int name_index)
- Parameters:
name_index
- of attribute.
getNameIndex
public final int getNameIndex()
- Returns:
- Name index in constant pool of attribute name.
getTag
public final byte getTag()
- Returns:
- Tag of attribute, i.e., its type. Value may not be altered, thus
there is no setTag() method.
getConstantPool
public final ConstantPool getConstantPool()
- Returns:
- Constant pool used by this object.
- See Also:
ConstantPool
setConstantPool
public final void setConstantPool(ConstantPool constant_pool)
- Parameters:
constant_pool
- Constant pool to be used for this object.- See Also:
ConstantPool
clone
public java.lang.Object clone()
- Use copy() if you want to have a deep copy(), i.e., with all references
copied correctly.
- Overrides:
clone
in class java.lang.Object
- Returns:
- shallow copy of this attribute
copy
public abstract Attribute copy(ConstantPool constant_pool)
- Returns:
- deep copy of this attribute
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
- Returns:
- attribute name.