org.apache.bcel.classfile
Class Signature

java.lang.Object
  extended by org.apache.bcel.classfile.Attribute
      extended by org.apache.bcel.classfile.Signature
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Node

public final class Signature
extends Attribute

This class is derived from Attribute and represents a reference to a GJ attribute.

Version:
$Id: Signature.java 386056 2006-03-15 11:31:56Z tcurdt $
Author:
M. Dahm
See Also:
Attribute, Serialized Form

Nested Class Summary
private static class Signature.MyByteArrayInputStream
          Extends ByteArrayInputStream to make 'unreading' chars possible.
 
Field Summary
private  int signature_index
           
 
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, length, name_index, tag
 
Constructor Summary
Signature(int name_index, int length, java.io.DataInputStream file, ConstantPool constant_pool)
          Construct object from file stream.
Signature(int name_index, int length, int signature_index, ConstantPool constant_pool)
           
Signature(Signature c)
          Initialize from another object.
 
Method Summary
 void accept(Visitor v)
          Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
 Attribute copy(ConstantPool _constant_pool)
           
 void dump(java.io.DataOutputStream file)
          Dump source file attribute to file stream in binary format.
 java.lang.String getSignature()
           
 int getSignatureIndex()
           
private static boolean identStart(int ch)
           
static boolean isActualParameterList(java.lang.String s)
           
static boolean isFormalParameterList(java.lang.String s)
           
private static void matchGJIdent(Signature.MyByteArrayInputStream in, java.lang.StringBuffer buf)
           
private static void matchIdent(Signature.MyByteArrayInputStream in, java.lang.StringBuffer buf)
           
 void setSignatureIndex(int signature_index)
           
 java.lang.String toString()
           
static java.lang.String translate(java.lang.String s)
           
 
Methods inherited from class org.apache.bcel.classfile.Attribute
addAttributeReader, clone, getConstantPool, getLength, getNameIndex, getTag, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

signature_index

private int signature_index
Constructor Detail

Signature

public Signature(Signature c)
Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.


Signature

Signature(int name_index,
          int length,
          java.io.DataInputStream file,
          ConstantPool constant_pool)
    throws java.io.IOException
Construct object from file stream.

Parameters:
name_index - Index in constant pool to CONSTANT_Utf8
length - Content length in bytes
file - Input stream
constant_pool - Array of constants
Throws:
java.io.IOException

Signature

public Signature(int name_index,
                 int length,
                 int signature_index,
                 ConstantPool constant_pool)
Parameters:
name_index - Index in constant pool to CONSTANT_Utf8
length - Content length in bytes
signature_index - Index in constant pool to CONSTANT_Utf8
constant_pool - Array of constants
Method Detail

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.

Specified by:
accept in interface Node
Specified by:
accept in class Attribute
Parameters:
v - Visitor object

dump

public final void dump(java.io.DataOutputStream file)
                throws java.io.IOException
Dump source file attribute to file stream in binary format.

Overrides:
dump in class Attribute
Parameters:
file - Output file stream
Throws:
java.io.IOException

getSignatureIndex

public final int getSignatureIndex()
Returns:
Index in constant pool of source file name.

setSignatureIndex

public final void setSignatureIndex(int signature_index)
Parameters:
signature_index - the index info the constant pool of this signature

getSignature

public final java.lang.String getSignature()
Returns:
GJ signature.

identStart

private static boolean identStart(int ch)

matchIdent

private static final void matchIdent(Signature.MyByteArrayInputStream in,
                                     java.lang.StringBuffer buf)

matchGJIdent

private static final void matchGJIdent(Signature.MyByteArrayInputStream in,
                                       java.lang.StringBuffer buf)

translate

public static java.lang.String translate(java.lang.String s)

isFormalParameterList

public static final boolean isFormalParameterList(java.lang.String s)

isActualParameterList

public static final boolean isActualParameterList(java.lang.String s)

toString

public final java.lang.String toString()
Overrides:
toString in class Attribute
Returns:
String representation

copy

public Attribute copy(ConstantPool _constant_pool)
Specified by:
copy in class Attribute
Returns:
deep copy of this attribute