ej-technologies

org.gjt.jclasslib.structures
Class ClassMember

java.lang.Object
  extended byorg.gjt.jclasslib.structures.AbstractStructure
      extended byorg.gjt.jclasslib.structures.AbstractStructureWithAttributes
          extended byorg.gjt.jclasslib.structures.ClassMember
All Implemented Interfaces:
AccessFlags
Direct Known Subclasses:
FieldInfo, MethodInfo

public abstract class ClassMember
extends AbstractStructureWithAttributes
implements AccessFlags

Base class for class members.

Version:
$Revision: 1.5 $ $Date: 2003/08/18 07:52:54 $
Author:
Ingo Kegel

Field Summary
protected  int accessFlags
          The access flags of this class member.
protected  int descriptorIndex
          the constant pool index of the descriptor of this class member.
protected  int nameIndex
          the constant pool index of the name of this class member.
 
Fields inherited from class org.gjt.jclasslib.structures.AbstractStructureWithAttributes
attributes
 
Fields inherited from class org.gjt.jclasslib.structures.AbstractStructure
classFile, debug, SYSTEM_PROPERTY_DEBUG
 
Fields inherited from interface org.gjt.jclasslib.structures.AccessFlags
ACC_ABSTRACT, ACC_ABSTRACT_VERBOSE, ACC_ANNOTATION, ACC_ANNOTATION_VERBOSE, ACC_BRIDGE, ACC_BRIDGE_VERBOSE, ACC_ENUM, ACC_ENUM_VERBOSE, ACC_FINAL, ACC_FINAL_VERBOSE, ACC_INTERFACE, ACC_INTERFACE_VERBOSE, ACC_NATIVE, ACC_NATIVE_VERBOSE, ACC_PRIVATE, ACC_PRIVATE_VERBOSE, ACC_PROTECTED, ACC_PROTECTED_VERBOSE, ACC_PUBLIC, ACC_PUBLIC_VERBOSE, ACC_STATIC, ACC_STATIC_VERBOSE, ACC_STRICT, ACC_STRICT_VERBOSE, ACC_SUPER, ACC_SUPER_VERBOSE, ACC_SYNCHRONIZED, ACC_SYNCHRONIZED_VERBOSE, ACC_SYNTHETIC, ACC_SYNTHETIC_VERBOSE, ACC_TRANSIENT, ACC_TRANSIENT_VERBOSE, ACC_VARARGS, ACC_VARARGS_VERBOSE, ACC_VOLATILE, ACC_VOLATILE_VERBOSE, CLASS_ACCESS_FLAGS, CLASS_ACCESS_FLAGS_VERBOSE, FIELD_ACCESS_FLAGS, FIELD_ACCESS_FLAGS_VERBOSE, INNER_CLASS_ACCESS_FLAGS, INNER_CLASS_ACCESS_FLAGS_VERBOSE, METHOD_ACCESS_FLAGS, METHOD_ACCESS_FLAGS_VERBOSE
 
Constructor Summary
ClassMember()
           
 
Method Summary
 int getAccessFlags()
          Get the access flags of this class member.
 String getAccessFlagsVerbose()
          Get the verbose description of the access flags of this class.
 String getDescriptor()
          Get the verbose descriptor of the class member.
 int getDescriptorIndex()
          Get the constant pool index of the descriptor of this class member.
 String getFormattedAccessFlags()
          Get the the access flags of this class as a hex string.
 String getName()
          Get the name of the class member.
 int getNameIndex()
          Get the constant pool index of the name of this class member.
 void read(DataInput in)
          Read this structure from the given DataInput.
 void setAccessFlags(int accessFlags)
          Set the access flags of this class member.
 void setDescriptorIndex(int descriptorIndex)
          Set the constant pool index of the descriptor of this class member.
 void setNameIndex(int nameIndex)
          Set the constant pool index of the name of this class member.
 void write(DataOutput out)
          Write this structure to the given DataOutput.
 
Methods inherited from class org.gjt.jclasslib.structures.AbstractStructureWithAttributes
findAttribute, getAttributes, getTotalAttributesLength, readAttributes, setAttributes, writeAttributes
 
Methods inherited from class org.gjt.jclasslib.structures.AbstractStructure
debug, getClassFile, getDebug, getLength, printAccessFlags, printAccessFlagsVerbose, printAccessFlagsVerbose, printBytes, setClassFile, setDebug
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

accessFlags

protected int accessFlags
The access flags of this class member.


nameIndex

protected int nameIndex
the constant pool index of the name of this class member.


descriptorIndex

protected int descriptorIndex
the constant pool index of the descriptor of this class member.

Constructor Detail

ClassMember

public ClassMember()
Method Detail

getAccessFlags

public int getAccessFlags()
Get the access flags of this class member.

Returns:
the access flags

setAccessFlags

public void setAccessFlags(int accessFlags)
Set the access flags of this class member.

Parameters:
accessFlags - the access flags

getNameIndex

public int getNameIndex()
Get the constant pool index of the name of this class member.

Returns:
the index

setNameIndex

public void setNameIndex(int nameIndex)
Set the constant pool index of the name of this class member.

Parameters:
nameIndex - the index

getDescriptorIndex

public int getDescriptorIndex()
Get the constant pool index of the descriptor of this class member.

Returns:
the index

setDescriptorIndex

public void setDescriptorIndex(int descriptorIndex)
Set the constant pool index of the descriptor of this class member.

Parameters:
descriptorIndex - the index

getName

public String getName()
               throws InvalidByteCodeException
Get the name of the class member.

Returns:
the name
Throws:
InvalidByteCodeException - if the entry is invalid

getDescriptor

public String getDescriptor()
                     throws InvalidByteCodeException
Get the verbose descriptor of the class member.

Returns:
the descriptor
Throws:
InvalidByteCodeException - if the entry is invalid

getFormattedAccessFlags

public String getFormattedAccessFlags()
Get the the access flags of this class as a hex string.

Returns:
the hex string

getAccessFlagsVerbose

public String getAccessFlagsVerbose()
Get the verbose description of the access flags of this class.

Returns:
the description

read

public void read(DataInput in)
          throws InvalidByteCodeException,
                 IOException
Description copied from class: AbstractStructure
Read this structure from the given DataInput.

Excpects DataInput to be in JVM class file format and just before a structure of this kind. No look ahead parsing since the class file format is deterministic.

Overrides:
read in class AbstractStructure
Parameters:
in - the DataInput from which to read
Throws:
InvalidByteCodeException - if the byte code is invalid
IOException - if an exception occurs with the DataInput

write

public void write(DataOutput out)
           throws InvalidByteCodeException,
                  IOException
Description copied from class: AbstractStructure
Write this structure to the given DataOutput.

The written bytes are in JVM class file format.

Overrides:
write in class AbstractStructure
Parameters:
out - the DataOutput to which to write
Throws:
IOException - if an exception occurs with the DataOutput
InvalidByteCodeException - if the structure is internally inconsistent

ej-technologies