org.apache.bcel.classfile

Class Unknown

Implemented Interfaces:
Cloneable, Node, Serializable

public final class Unknown
extends Attribute

This class represents a reference to an unknown (i.e., application-specific) attribute of a class. It is instantiated from the Attribute.readAttribute() method. Applications that need to read in application-specific attributes should create an AttributeReader implementation and attach it via Attribute.addAttributeReader.
Version:
$Id: Unknown.java,v 1.3 2002/03/11 16:16:35 mdahm Exp $
Author:
M. Dahm
See Also:
Attribute, AttributeReader

Field Summary

Fields inherited from class org.apache.bcel.classfile.Attribute

constant_pool, length, name_index, tag

Constructor Summary

Unknown(int name_index, int length, byte[] bytes, ConstantPool constant_pool)
Create a non-standard attribute.
Unknown(Unknown c)
Initialize from another object.

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(DataOutputStream file)
Dump unknown bytes to file stream.
byte[]
getBytes()
String
getName()
void
setBytes(byte[] bytes)
String
toString()

Methods inherited from class org.apache.bcel.classfile.Attribute

accept, addAttributeReader, clone, copy, dump, getConstantPool, getLength, getNameIndex, getTag, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex, toString

Constructor Details

Unknown

public Unknown(int name_index,
               int length,
               byte[] bytes,
               ConstantPool constant_pool)
Create a non-standard attribute.
Parameters:
name_index - Index in constant pool
length - Content length in bytes
bytes - Attribute contents
constant_pool - Array of constants

Unknown

public Unknown(Unknown c)
Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.

Method Details

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.
Specified by:
accept in interface Node
Overrides:
accept in interface Attribute
Parameters:
v - Visitor object

copy

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

dump

public final void dump(DataOutputStream file)
            throws IOException
Dump unknown bytes to file stream.
Overrides:
dump in interface Attribute
Parameters:
file - Output file stream

getBytes

public final byte[] getBytes()
Returns:
data bytes.

getName

public final String getName()
Returns:
name of attribute.

setBytes

public final void setBytes(byte[] bytes)
Parameters:

toString

public final String toString()
Overrides:
toString in interface Attribute
Returns:
String representation.