electric.util.codegen
Class ClassWriter

java.lang.Object
  extended byelectric.util.codegen.ClassWriter
All Implemented Interfaces:
IJVMConstants

public final class ClassWriter
extends java.lang.Object
implements IJVMConstants

ClassWriter.

Author:
webMethods

Field Summary
 short accessFlags
           
 java.util.Hashtable classConstants
           
 java.io.DataOutputStream constantPool
           
 java.io.ByteArrayOutputStream constantPoolBytes
           
 short constantPoolIndex
           
 java.io.DataOutputStream fields
           
 java.io.ByteArrayOutputStream fieldsBytes
           
 short fieldsCount
           
 short[] interfaces
           
 short majorVersion
           
 java.io.DataOutputStream methods
           
 java.io.ByteArrayOutputStream methodsBytes
           
 short methodsCount
           
 short minorVersion
           
 short superClass
           
 short thisClass
           
 java.util.Hashtable utf8Constants
           
 
Fields inherited from interface electric.util.codegen.IJVMConstants
AASTORE, ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, ALOAD, ALOAD0, ANEWARRAY, ARETURN, ASTORE, BIPUSH, CHECKCAST, CONSTANT_Class, CONSTANT_Double, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_Long, CONSTANT_Methodref, CONSTANT_NameAndType, CONSTANT_String, CONSTANT_Utf8, DEFAULT_MAJOR_VERSION, DEFAULT_MINOR_VERSION, DLOAD, DRETURN, DUP, FLOAD, FRETURN, GETSTATIC, ILOAD, INVOKESPECIAL, INVOKEVIRTUAL, IRETURN, LLOAD, LRETURN, MAGIC_NUMBER, NEW, RETURN
 
Constructor Summary
ClassWriter()
           
 
Method Summary
 short addConstantClass(java.lang.String name)
           
 short addConstantField(java.lang.String type, java.lang.String name, java.lang.Class fieldType)
           
 short addConstantMethod(java.lang.String type, java.lang.String name, java.lang.Class[] parameters, java.lang.Class returnType)
           
 short addConstantNameAndType(java.lang.String name, java.lang.String descriptor)
           
 short addConstantUTF8(java.lang.String name)
           
 short addField(short accessFlags, java.lang.String name, java.lang.Class type)
           
 void addInterface(java.lang.String name)
           
 void addMethod(short accessFlags, java.lang.String name, java.lang.Class[] parameters, java.lang.Class returnType, java.lang.Class[] exceptions, byte[] code, short maxStack, short maxLocals)
           
 byte[] getBytes()
           
 java.lang.String getClassDescriptor(java.lang.Class type)
           
 java.lang.String getMethodDescriptor(java.lang.Class[] parameters, java.lang.Class returnType)
           
 void setAccessFlags(short accessFlags)
           
 void setClass(java.lang.String name)
           
 void setMajorVersion(short majorVersion)
           
 void setMinorVersion(short minorVersion)
           
 void setSuperClass(java.lang.String name)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

majorVersion

public short majorVersion

minorVersion

public short minorVersion

constantPoolIndex

public short constantPoolIndex

classConstants

public java.util.Hashtable classConstants

utf8Constants

public java.util.Hashtable utf8Constants

constantPoolBytes

public java.io.ByteArrayOutputStream constantPoolBytes

constantPool

public java.io.DataOutputStream constantPool

methodsCount

public short methodsCount

methodsBytes

public java.io.ByteArrayOutputStream methodsBytes

methods

public java.io.DataOutputStream methods

fieldsCount

public short fieldsCount

fieldsBytes

public java.io.ByteArrayOutputStream fieldsBytes

fields

public java.io.DataOutputStream fields

accessFlags

public short accessFlags

thisClass

public short thisClass

superClass

public short superClass

interfaces

public short[] interfaces
Constructor Detail

ClassWriter

public ClassWriter()
Method Detail

setMajorVersion

public void setMajorVersion(short majorVersion)
Parameters:
majorVersion -

setMinorVersion

public void setMinorVersion(short minorVersion)
Parameters:
minorVersion -

setAccessFlags

public void setAccessFlags(short accessFlags)
Parameters:
accessFlags -

setClass

public void setClass(java.lang.String name)
              throws java.io.IOException
Parameters:
name -
Throws:
java.io.IOException

setSuperClass

public void setSuperClass(java.lang.String name)
                   throws java.io.IOException
Parameters:
name -
Throws:
java.io.IOException

addInterface

public void addInterface(java.lang.String name)
                  throws java.io.IOException
Parameters:
name -
Throws:
java.io.IOException

addField

public short addField(short accessFlags,
                      java.lang.String name,
                      java.lang.Class type)
               throws java.io.IOException
Parameters:
accessFlags -
name -
type -
Throws:
java.io.IOException

addMethod

public void addMethod(short accessFlags,
                      java.lang.String name,
                      java.lang.Class[] parameters,
                      java.lang.Class returnType,
                      java.lang.Class[] exceptions,
                      byte[] code,
                      short maxStack,
                      short maxLocals)
               throws java.io.IOException
Parameters:
accessFlags -
name -
parameters -
returnType -
exceptions -
code -
maxStack -
maxLocals -
Throws:
java.io.IOException

getMethodDescriptor

public java.lang.String getMethodDescriptor(java.lang.Class[] parameters,
                                            java.lang.Class returnType)
Parameters:
parameters -
returnType -

getClassDescriptor

public java.lang.String getClassDescriptor(java.lang.Class type)
Parameters:
type -

addConstantMethod

public short addConstantMethod(java.lang.String type,
                               java.lang.String name,
                               java.lang.Class[] parameters,
                               java.lang.Class returnType)
                        throws java.io.IOException
Parameters:
type -
name -
parameters -
returnType -
Throws:
java.io.IOException

addConstantField

public short addConstantField(java.lang.String type,
                              java.lang.String name,
                              java.lang.Class fieldType)
                       throws java.io.IOException
Parameters:
type -
name -
fieldType -
Throws:
java.io.IOException

addConstantNameAndType

public short addConstantNameAndType(java.lang.String name,
                                    java.lang.String descriptor)
                             throws java.io.IOException
Parameters:
name -
descriptor -
Throws:
java.io.IOException

addConstantClass

public short addConstantClass(java.lang.String name)
                       throws java.io.IOException
Parameters:
name -
Throws:
java.io.IOException

addConstantUTF8

public short addConstantUTF8(java.lang.String name)
                      throws java.io.IOException
Parameters:
name -
Throws:
java.io.IOException

getBytes

public byte[] getBytes()
                throws java.io.IOException
Throws:
java.io.IOException


copyright© 2001-2004 by webMethods All Rights Reserved.