TechTrader Bytecode Toolkit

com.techtrader.modules.tools.bytecode
Class UnknownAttribute

java.lang.Object
  |
  +--com.techtrader.modules.tools.bytecode.BCEntity
        |
        +--com.techtrader.modules.tools.bytecode.Attribute
              |
              +--com.techtrader.modules.tools.bytecode.UnknownAttribute

public class UnknownAttribute
extends Attribute

An unrecognized attribute; .class files are allowed to contain attributes that are not recognized, and the JVM must ignore them.

Author:
Abe White

Fields inherited from class com.techtrader.modules.tools.bytecode.Attribute
_nameIndex, _owner
 
Constructor Summary
UnknownAttribute(int nameIndex, BCEntity owner)
           
 
Method Summary
 void acceptVisit(BCVisitor visit)
          Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this object.
protected  void copy(Attribute other)
          Copy the information from the given attribute to this one.
 int getLength()
          Return the length of the .class representation of this attribute, in bytes.
 byte[] getValue()
          The value's type is unknown, so just store the byte array.
protected  void readData(DataInput in, int length)
          Should be overridden by subclasses to read their internal data from the given stream, up to length bytes, excluding the name index.
 void setValue(byte[] value)
          The value's type is unknown, so just store the byte array.
protected  void writeData(DataOutput out, int length)
          Should be overridden by subclasses to write their internal data to the given stream, up to length bytes, excluding the name index.
 
Methods inherited from class com.techtrader.modules.tools.bytecode.Attribute
createAttribute, getName, getNameIndex, getOwner, getPool, invalidate
 
Methods inherited from class com.techtrader.modules.tools.bytecode.BCEntity
addAttribute, clearAttributes, getAttribute, getAttributes, getAttributes, importAttribute, importAttributes, readAttributes, removeAttribute, removeAttribute, visitAttributes, writeAttributes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UnknownAttribute

public UnknownAttribute(int nameIndex,
                        BCEntity owner)
Method Detail

getValue

public byte[] getValue()
The value's type is unknown, so just store the byte array.

setValue

public void setValue(byte[] value)
The value's type is unknown, so just store the byte array.

getLength

public int getLength()
Description copied from class: Attribute
Return the length of the .class representation of this attribute, in bytes.
Overrides:
getLength in class Attribute

copy

protected void copy(Attribute other)
Description copied from class: Attribute
Copy the information from the given attribute to this one.
Overrides:
copy in class Attribute

readData

protected void readData(DataInput in,
                        int length)
                 throws IOException
Description copied from class: Attribute
Should be overridden by subclasses to read their internal data from the given stream, up to length bytes, excluding the name index.
Overrides:
readData in class Attribute

writeData

protected void writeData(DataOutput out,
                         int length)
                  throws IOException
Description copied from class: Attribute
Should be overridden by subclasses to write their internal data to the given stream, up to length bytes, excluding the name index.
Overrides:
writeData in class Attribute

acceptVisit

public void acceptVisit(BCVisitor visit)
Description copied from interface: VisitAcceptor
Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this object.

TechTrader Bytecode Toolkit