org.apache.avalon.fortress.impl.factory
Class BCELCodeGenerator

java.lang.Object
  extended byorg.apache.avalon.fortress.impl.factory.BCELCodeGenerator

public final class BCELCodeGenerator
extends java.lang.Object

BCELCodeGenerator creates implementations for the Methods and Fields needed in creating a WrapperClass.

Author:
Avalon Development Team

Constructor Summary
BCELCodeGenerator()
          Default constructor.
 
Method Summary
 org.apache.bcel.classfile.Method createDefaultConstructor()
          Create the wrapper class' default constructor:
 org.apache.bcel.classfile.Method[] createImplementation(org.apache.bcel.classfile.JavaClass[] interfacesToImplement)
          Creates an implementation for the supplied JavaClass instance representing an interface.
 org.apache.bcel.classfile.Method createMethodWrapper(org.apache.avalon.fortress.impl.factory.BCELCodeGenerator.MethodDesc meth)
          Create a method declaration/definition of the form
 org.apache.bcel.classfile.Method createMethodWrapper(org.apache.bcel.classfile.Method methodToWrap)
          Create a method declaration/definition of the form
 org.apache.bcel.classfile.Method createWrappedClassAccessor()
          Create a field accessor for the wrapped class instance of the form
 org.apache.bcel.classfile.Field createWrappedClassField()
          Create a field declaration of the form
 void init(java.lang.String wrapperClassName, java.lang.String wrapperSuperclassName, org.apache.bcel.classfile.JavaClass classToWrap, org.apache.bcel.generic.ClassGen classGenerator)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BCELCodeGenerator

public BCELCodeGenerator()
Default constructor.

Method Detail

init

public void init(java.lang.String wrapperClassName,
                 java.lang.String wrapperSuperclassName,
                 org.apache.bcel.classfile.JavaClass classToWrap,
                 org.apache.bcel.generic.ClassGen classGenerator)
          throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

createWrappedClassField

public org.apache.bcel.classfile.Field createWrappedClassField()
                                                        throws java.lang.IllegalStateException
Create a field declaration of the form
  
      private  WRAPPED_CLASS_FN;
  
 

Returns:
Field
Throws:
java.lang.IllegalStateException - If this instance is not initialized.

createDefaultConstructor

public org.apache.bcel.classfile.Method createDefaultConstructor()
                                                          throws java.lang.IllegalStateException
Create the wrapper class' default constructor:
  
      public ( classToWrap)
      {
          this. = classToWrap;
      }
  
 

Returns:
The created default constructor
Throws:
java.lang.IllegalStateException - If this instance is not initialized.

createWrappedClassAccessor

public org.apache.bcel.classfile.Method createWrappedClassAccessor()
                                                            throws java.lang.IllegalStateException
Create a field accessor for the wrapped class instance of the form
  
      public Object ()
      {
          return this.;
      }
  
 

Returns:
Method
Throws:
java.lang.IllegalStateException

createMethodWrapper

public org.apache.bcel.classfile.Method createMethodWrapper(org.apache.avalon.fortress.impl.factory.BCELCodeGenerator.MethodDesc meth)
                                                     throws java.lang.IllegalArgumentException,
                                                            java.lang.IllegalStateException
Create a method declaration/definition of the form
  
      public  ()
          throws 
      {
          return this..();
      }
  
 

Parameters:
meth - The method descriptor
Returns:
Method The Method object representing the created method
Throws:
java.lang.IllegalArgumentException - If any of the parameters passed in is null.
java.lang.IllegalStateException - If this instance is not initialized.

createMethodWrapper

public org.apache.bcel.classfile.Method createMethodWrapper(org.apache.bcel.classfile.Method methodToWrap)
                                                     throws java.lang.IllegalArgumentException,
                                                            java.lang.IllegalStateException
Create a method declaration/definition of the form
  
      public  ()
          throws 
      {
          return this..();
      }
  
 

Parameters:
methodToWrap - The Method to create a wrapper for.
Returns:
Method The wrapper method.
Throws:
java.lang.IllegalArgumentException - If methodToWrao is null.
java.lang.IllegalStateException - If this instance is not initialized.

createImplementation

public org.apache.bcel.classfile.Method[] createImplementation(org.apache.bcel.classfile.JavaClass[] interfacesToImplement)
                                                        throws java.lang.Exception
Creates an implementation for the supplied JavaClass instance representing an interface.

Parameters:
interfacesToImplement - The interfaces we want to create an implementation for
Returns:
Method[] An array of Method instances representing the interface implementation.
Throws:
java.lang.IllegalArgumentException - If interfaceToImplement is null or does not represent an interface
java.lang.IllegalStateException - If this instance has not been initialized
java.lang.Exception


Copyright © 1997-2005 The Apache Software Foundation. All Rights Reserved.