TechTrader Bytecode Toolkit

com.techtrader.modules.tools.bytecode
Class ExceptionsAttribute

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

public class ExceptionsAttribute
extends Attribute

Attribute indicating what checked exceptions a method can throw; referenced from a BCMethod.

Author:
Abe White

Fields inherited from class com.techtrader.modules.tools.bytecode.Attribute
_nameIndex, _owner
 
Constructor Summary
ExceptionsAttribute(int nameIndex, BCEntity owner)
          Protected constructor.
 
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.
 void addExceptionType(Class type)
          Add an exception to those thrown by this method.
 void addExceptionTypeName(String name)
          Add an exception to those thrown by this method.
 void clearExceptions()
          Clear this method of all exception declarations.
protected  void copy(Attribute other)
          Copy the information from the given attribute to this one.
 int[] getExceptionIndexes()
          Get the indexes into the constant pool referencing the ClassEntrys that describe the exception types thrown by this method.
 String[] getExceptionTypeNames()
          Get the names of the exception types for this method.
 Class[] getExceptionTypes()
          Get the Class objects for the exceptions of this method.
 int getLength()
          Return the length of the .class representation of this attribute, in bytes.
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.
 boolean removeExceptionType(Class type)
          Remove an exception thrown by this method.
 boolean removeExceptionTypeName(String name)
          Remove an exception thrown by this method.
 void setExceptionIndexes(int[] exceptionIndexes)
          Set the indexes into the constant pool referencing the ClassEntrys that describe the exception types thrown by this method.
 void setExceptionTypeNames(String[] exceptions)
          Set the checked exceptions thrown by this method.
 void setExceptionTypes(Class[] exceptions)
          Set the checked exceptions thrown by this method.
 boolean throwsException(Class type)
          Return true if the method declares that it throws the given exception.
 boolean throwsException(String name)
          Return true if the method declares that it throws the given exception.
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

ExceptionsAttribute

public ExceptionsAttribute(int nameIndex,
                           BCEntity owner)
Protected constructor.
Method Detail

getExceptionIndexes

public int[] getExceptionIndexes()
Get the indexes into the constant pool referencing the ClassEntrys that describe the exception types thrown by this method.

setExceptionIndexes

public void setExceptionIndexes(int[] exceptionIndexes)
Set the indexes into the constant pool referencing the ClassEntrys that describe the exception types thrown by this method.

getExceptionTypeNames

public String[] getExceptionTypeNames()
Get the names of the exception types for this method.

getExceptionTypes

public Class[] getExceptionTypes()
                          throws ClassNotFoundException
Get the Class objects for the exceptions of this method.

setExceptionTypeNames

public void setExceptionTypeNames(String[] exceptions)
Set the checked exceptions thrown by this method.

setExceptionTypes

public void setExceptionTypes(Class[] exceptions)
Set the checked exceptions thrown by this method.

clearExceptions

public void clearExceptions()
Clear this method of all exception declarations.

removeExceptionTypeName

public boolean removeExceptionTypeName(String name)
Remove an exception thrown by this method.

removeExceptionType

public boolean removeExceptionType(Class type)
Remove an exception thrown by this method.

addExceptionTypeName

public void addExceptionTypeName(String name)
Add an exception to those thrown by this method.

addExceptionType

public void addExceptionType(Class type)
Add an exception to those thrown by this method.

throwsException

public boolean throwsException(String name)
Return true if the method declares that it throws the given exception.

throwsException

public boolean throwsException(Class type)
Return true if the method declares that it throws the given exception.

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