public final class LocalVariableTableAttribute extends AttributeInfo
LocalVariableTableAttribute
denotes a LocalVariableTable_attribute structure somewhere in a ClassFile structure.
This class is not thread-safe.
Modifier and Type | Class and Description |
---|---|
static class |
LocalVariableTableAttribute.LocalVariable
A
LocalVariable denotes a local_variable structure somewhere in a LocalVariableTable_attribute structure. |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
NAME
The name of the LocalVariableTable_attribute structure.
|
Modifier and Type | Method and Description |
---|---|
boolean |
accept(NodeHierarchicalVisitor nodeHierarchicalVisitor)
Accepts a
NodeHierarchicalVisitor . |
void |
addLocalVariable(LocalVariableTableAttribute.LocalVariable localVariable)
Adds
localVariable to this LocalVariableTableAttribute instance. |
LocalVariableTableAttribute |
copy()
Returns a copy of this
LocalVariableTableAttribute instance. |
boolean |
equals(java.lang.Object object)
Returns
true if, and only if, object is an instance of LocalVariableTableAttribute , and that LocalVariableTableAttribute instance is equal to this LocalVariableTableAttribute
instance, false otherwise. |
static java.util.List<LocalVariableTableAttribute> |
filter(Node node)
Returns a
List with all LocalVariableTableAttribute s. |
int |
getAttributeLength()
Returns the attribute_length of this
LocalVariableTableAttribute instance. |
java.util.List<LocalVariableTableAttribute.LocalVariable> |
getLocalVariableTable()
Returns a
List with all currently added LocalVariable s. |
int |
getLocalVariableTableLength()
Returns the local_variable_table_length of this
LocalVariableTableAttribute instance. |
int |
hashCode()
Returns a hash code for this
LocalVariableTableAttribute instance. |
static LocalVariableTableAttribute |
newInstance(int attributeNameIndex)
Returns a new
LocalVariableTableAttribute instance. |
void |
removeLocalVariable(LocalVariableTableAttribute.LocalVariable localVariable)
Removes
localVariable from this LocalVariableTableAttribute instance. |
java.lang.String |
toString()
Returns a
String representation of this LocalVariableTableAttribute instance. |
void |
write(java.io.DataOutput dataOutput)
Writes this
LocalVariableTableAttribute to dataOutput . |
getAttributeNameIndex, getName, setAttributeNameIndex
public static final java.lang.String NAME
public java.util.List<LocalVariableTableAttribute.LocalVariable> getLocalVariableTable()
List
with all currently added LocalVariable
s.
Modifying the returned List
will not affect this LocalVariableTableAttribute
instance.
List
with all currently added LocalVariable
spublic LocalVariableTableAttribute copy()
LocalVariableTableAttribute
instance.copy
in class AttributeInfo
LocalVariableTableAttribute
instancepublic java.lang.String toString()
String
representation of this LocalVariableTableAttribute
instance.toString
in class java.lang.Object
String
representation of this LocalVariableTableAttribute
instancepublic boolean accept(NodeHierarchicalVisitor nodeHierarchicalVisitor)
NodeHierarchicalVisitor
.
Returns the result of nodeHierarchicalVisitor.visitLeave(this)
.
If nodeHierarchicalVisitor
is null
, a NullPointerException
will be thrown.
If a RuntimeException
is thrown by the current NodeHierarchicalVisitor
, a NodeTraversalException
will be thrown with the RuntimeException
wrapped.
This implementation will:
NullPointerException
if nodeHierarchicalVisitor
is null
.NodeTraversalException
if nodeHierarchicalVisitor
throws a RuntimeException
.Node
s, if it has any.nodeHierarchicalVisitor
- the NodeHierarchicalVisitor
to acceptnodeHierarchicalVisitor.visitLeave(this)
NodeTraversalException
- thrown if, and only if, a RuntimeException
is thrown by the current NodeHierarchicalVisitor
java.lang.NullPointerException
- thrown if, and only if, nodeHierarchicalVisitor
is null
public boolean equals(java.lang.Object object)
true
if, and only if, object
is an instance of LocalVariableTableAttribute
, and that LocalVariableTableAttribute
instance is equal to this LocalVariableTableAttribute
instance, false
otherwise.equals
in class java.lang.Object
object
- an Object
to compare to this LocalVariableTableAttribute
instance for equalitytrue
if, and only if, object
is an instance of LocalVariableTableAttribute
, and that LocalVariableTableAttribute
instance is equal to this LocalVariableTableAttribute
instance, false
otherwisepublic int getAttributeLength()
LocalVariableTableAttribute
instance.getAttributeLength
in class AttributeInfo
LocalVariableTableAttribute
instance.public int getLocalVariableTableLength()
LocalVariableTableAttribute
instance.LocalVariableTableAttribute
instance.public int hashCode()
LocalVariableTableAttribute
instance.hashCode
in class java.lang.Object
LocalVariableTableAttribute
instancepublic void addLocalVariable(LocalVariableTableAttribute.LocalVariable localVariable)
localVariable
to this LocalVariableTableAttribute
instance.
If localVariable
is null
, a NullPointerException
will be thrown.
localVariable
- the LocalVariableTableAttribute.LocalVariable
to addpublic void removeLocalVariable(LocalVariableTableAttribute.LocalVariable localVariable)
localVariable
from this LocalVariableTableAttribute
instance.
If localVariable
is null
, a NullPointerException
will be thrown.
localVariable
- the LocalVariableTableAttribute.LocalVariable
to removepublic void write(java.io.DataOutput dataOutput)
LocalVariableTableAttribute
to dataOutput
.
If dataOutput
is an OutputStream
(or any other type of stream), this method will not close it.
If dataOutput
is null
, a NullPointerException
will be thrown.
If an I/O-error occurs, an UncheckedIOException
will be thrown.
write
in class AttributeInfo
dataOutput
- the DataOutput
to write tojava.lang.NullPointerException
- thrown if, and only if, dataOutput
is null
java.io.UncheckedIOException
- thrown if, and only if, an I/O-error occurspublic static java.util.List<LocalVariableTableAttribute> filter(Node node)
List
with all LocalVariableTableAttribute
s.
All LocalVariableTableAttribute
s are found by traversing node
using a simple NodeHierarchicalVisitor
implementation.
If node
is null
, a NullPointerException
will be thrown.
node
- the Node
to start traversal fromList
with all LocalVariableTableAttribute
sjava.lang.NullPointerException
- thrown if, and only if, node
is null
public static LocalVariableTableAttribute newInstance(int attributeNameIndex)
LocalVariableTableAttribute
instance.
If attributeNameIndex
is less than or equal to 0
, an IllegalArgumentException
will be thrown.
attributeNameIndex
- the attribute_name_index of the new LocalVariableTableAttribute
instanceLocalVariableTableAttribute
instancejava.lang.IllegalArgumentException
- thrown if, and only if, attributeNameIndex
is less than or equal to 0