Package javassist.bytecode

# Class AttributeInfo

java.lang.Object
javassist.bytecode.AttributeInfo

Direct Known Subclasses:
  `AnnotationDefaultAttribute`, `AnnotationsAttribute`, `BootstrapMethodsAttribute`, `CodeAttribute`, `ConstantAttribute`, `DeprecatedAttribute`, `EnclosingMethodAttribute`, `ExceptionsAttribute`, `InnerClassesAttribute`, `LineNumberAttribute`, `LocalVariableAttribute`, `MethodParametersAttribute`, `NestHostAttribute`, `NestMembersAttribute`, `ParameterAnnotationsAttribute`, `SignatureAttribute`, `SourceFileAttribute`, `StackMap`, `StackMapTable`, `SyntheticAttribute`, `TypeAnnotationsAttribute`

public class AttributeInfo extends Object
`attribute_info` structure.

See Also:
  - `ClassFile.getAttribute(String)`
  - `MethodInfo.getAttribute(String)`
  - `FieldInfo.getAttribute(String)`

## Constructor Summary

Constructors
Constructor
Description
`AttributeInfo(ConstPool cp, String attrname, byte[] attrinfo)`
Constructs an `attribute_info` structure.

## Method Summary

Modifier and Type
Method
Description
`AttributeInfo`
`copy(ConstPool newCp, Map<String,String> classnames)`
Makes a copy.
`byte[]`
`get()`
Returns the `info` field of this `attribute_info` structure.
`ConstPool`
`getConstPool()`
Returns a constant pool table.
`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 Details

### AttributeInfo

public AttributeInfo(ConstPool cp, 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 Details

### getName

public 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, Map<String,String> 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.