Package org.apache.bcel.classfile
Class Unknown
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.Unknown
-
- All Implemented Interfaces:
java.lang.Cloneable
,Node
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 theAttribute.readAttribute(java.io.DataInput, ConstantPool)
method. Applications that need to read in application-specific attributes should create anUnknownAttributeReader
implementation and attach it viaAttribute.addAttributeReader(String, UnknownAttributeReader)
.- See Also:
Attribute
,UnknownAttributeReader
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]
bytes
private java.lang.String
name
-
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, EMPTY_ARRAY, length, name_index, tag
-
-
Constructor Summary
Constructors Constructor Description Unknown(int nameIndex, int length, byte[] bytes, ConstantPool constantPool)
Constructs a new instance for a non-standard attribute.Unknown(int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool)
Constructs a new instance from an input stream.Unknown(Unknown unknown)
Constructs a new instance from another instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.Attribute
copy(ConstantPool constantPool)
void
dump(java.io.DataOutputStream file)
Dumps unknown bytes to file stream.byte[]
getBytes()
java.lang.String
getName()
void
setBytes(byte[] bytes)
java.lang.String
toString()
-
Methods inherited from class org.apache.bcel.classfile.Attribute
addAttributeReader, addAttributeReader, clone, getConstantPool, getLength, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
-
-
-
-
Constructor Detail
-
Unknown
public Unknown(int nameIndex, int length, byte[] bytes, ConstantPool constantPool)
Constructs a new instance for a non-standard attribute.- Parameters:
nameIndex
- Index in constant poollength
- Content length in bytesbytes
- Attribute contentsconstantPool
- Array of constants
-
Unknown
Unknown(int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool) throws java.io.IOException
Constructs a new instance from an input stream.- Parameters:
nameIndex
- Index in constant poollength
- Content length in bytesinput
- Input streamconstantPool
- Array of constants- Throws:
java.io.IOException
- if an I/O error occurs.
-
Unknown
public Unknown(Unknown unknown)
Constructs a new instance from another instance. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.- Parameters:
unknown
- Source.
-
-
Method Detail
-
accept
public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
-
copy
public Attribute copy(ConstantPool constantPool)
-
dump
public void dump(java.io.DataOutputStream file) throws java.io.IOException
Dumps unknown bytes to file stream.
-
getBytes
public byte[] getBytes()
- Returns:
- data bytes.
-
getName
public java.lang.String getName()
-
setBytes
public void setBytes(byte[] bytes)
- Parameters:
bytes
- the bytes to set
-
-