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.