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 anUnknownAttributeReaderimplementation and attach it viaAttribute.addAttributeReader(String, UnknownAttributeReader).- See Also:
Attribute,UnknownAttributeReader
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]bytesprivate java.lang.Stringnameprivate static java.util.Map<java.lang.String,Unknown>unknown_attributes-
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, length, name_index, tag
-
-
Constructor Summary
Constructors Constructor Description Unknown(int name_index, int length, byte[] bytes, ConstantPool constant_pool)Create a non-standard attribute.Unknown(int name_index, int length, java.io.DataInput input, ConstantPool constant_pool)Construct object from input stream.Unknown(Unknown c)Initialize from another object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(Visitor v)Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.Attributecopy(ConstantPool _constant_pool)voiddump(java.io.DataOutputStream file)Dump unknown bytes to file stream.byte[]getBytes()java.lang.StringgetName()(package private) static Unknown[]getUnknownAttributes()voidsetBytes(byte[] bytes)java.lang.StringtoString()-
Methods inherited from class org.apache.bcel.classfile.Attribute
addAttributeReader, addAttributeReader, clone, getConstantPool, getLength, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
-
-
-
-
Field Detail
-
bytes
private byte[] bytes
-
name
private final java.lang.String name
-
unknown_attributes
private static final java.util.Map<java.lang.String,Unknown> unknown_attributes
-
-
Constructor Detail
-
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.
-
Unknown
public Unknown(int name_index, int length, byte[] bytes, ConstantPool constant_pool)Create a non-standard attribute.- Parameters:
name_index- Index in constant poollength- Content length in bytesbytes- Attribute contentsconstant_pool- Array of constants
-
Unknown
Unknown(int name_index, int length, java.io.DataInput input, ConstantPool constant_pool) throws java.io.IOExceptionConstruct object from input stream.- Parameters:
name_index- Index in constant poollength- Content length in bytesinput- Input streamconstant_pool- Array of constants- Throws:
java.io.IOException
-
-
Method Detail
-
getUnknownAttributes
static Unknown[] getUnknownAttributes()
- Returns:
- array of unknown attributes, but just one for each kind.
-
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.
-
dump
public void dump(java.io.DataOutputStream file) throws java.io.IOExceptionDump 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
-
toString
public java.lang.String toString()
-
copy
public Attribute copy(ConstantPool _constant_pool)
-
-