classUtils.javassist.bytecode
Class AttributeInfo

java.lang.Object
  extended by classUtils.javassist.bytecode.AttributeInfo
Direct Known Subclasses:
CodeAttribute, ConstantAttribute, ExceptionsAttribute, InnerClassesAttribute, LineNumberAttribute, SourceFileAttribute, SyntheticAttribute

public class AttributeInfo
extends java.lang.Object

attribute_info structure.


Constructor Summary
AttributeInfo(ConstPool cp, java.lang.String attrname, byte[] attrinfo)
          Constructs an attribute_info structure.
 
Method Summary
 AttributeInfo copy(ConstPool newCp, java.util.Map classnames)
          Makes a copy.
 byte[] get()
          Returns the info field of this attribute_info structure.
 ConstPool getConstPool()
          Returns a constant pool table.
 java.lang.String getName()
          Returns an attribute name.
 int length()
          Returns the length of this attribute_info structure.
 void set(byte[] newinfo)
          Sets the info field of this attribute_info structure.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AttributeInfo

public AttributeInfo(ConstPool cp,
                     java.lang.String attrname,
                     byte[] attrinfo)
Constructs an attribute_info structure.

Parameters:
cp - constant pool table
attrname - attribute name
attrinfo - info field of attribute_info structure.
Method Detail

getName

public java.lang.String getName()
Returns an attribute name.


getConstPool

public ConstPool getConstPool()
Returns a constant pool table.


length

public int length()
Returns the length of this attribute_info structure. The returned value is attribute_length + 6.


get

public byte[] get()
Returns the info field of this attribute_info structure.

This method is not available if the object is an instance of CodeAttribute.


set

public void set(byte[] newinfo)
Sets the info field of this attribute_info structure.

This method is not available if the object is an instance of CodeAttribute.


copy

public AttributeInfo copy(ConstPool newCp,
                          java.util.Map classnames)
Makes a copy. Class names are replaced according to the given Map object.

Parameters:
newCp - the constant pool table used by the new copy.
classnames - pairs of replaced and substituted class names.