ozone core API

org.ozoneDB.tools.OPP
Class ProxyGenerator

java.lang.Object
  |
  +--org.ozoneDB.tools.OPP.ProxyGenerator

class ProxyGenerator
extends java.lang.Object

I'd like to support static inner classes as OzoneObjects, but where should the proxy classes defined? Within the the proxy class of the enclosing class? If so, what if the enclosing class is not OzoneCompatible?

Version:
$Revision: 1.3 $Date: 2002/06/08 00:49:39 $
Author:
SMB
, Medium.net

Field Summary
protected  boolean cache
           
protected  java.lang.Class cl
           
protected  java.util.TreeMap doneMethodsIf
          Complete signatur of methods already proceeded .
protected  java.lang.reflect.Method[] methods
           
protected  java.io.PrintWriter out
           
protected  java.lang.String outputDir
           
protected  java.lang.String proxyClassName
           
protected  java.lang.String proxyFileName
           
protected  boolean quiet
           
protected  java.lang.Object re
           
protected  DxHashMap updateMethodsIf
          Names of update methods as Strings.
 
Constructor Summary
ProxyGenerator(java.lang.Class _cl, java.lang.String _methodPattern, java.lang.String _outputDir, boolean _quiet, boolean _cache)
           
 
Method Summary
 void checkMethodLists()
          Checks if all method names in the update lists are processed.
 void compileSource()
           
 void deleteSource()
           
protected  java.lang.String determineProxyInterface()
           
protected  java.lang.String determineProxyInterfaceDeep(java.lang.Class of)
           
 void generateClassSource(java.lang.Class cl)
           
 void generateSource(boolean searchInterfaceSource)
           
protected static java.lang.String getSourcecodeClassName(java.lang.Class cl)
          Returns the name of the class in the way it is used within source code.
protected  void makeCreateMethod(java.lang.reflect.Constructor ctor)
           
 void makeCreateMethods()
           
 void makeCtor(java.lang.reflect.Constructor ctor)
           
 void makeCtors()
           
 void makeGlobalHeader()
           
 void makeLocalHeader()
           
 void makeMethod(java.lang.reflect.Method m)
           
 void makeMethods()
           
 void searchUpdateMethods(boolean searchInterfaceSource)
          Employ IfHelper and CDHelper to find the methods that need to acquire WRITE lock.
protected  java.lang.String typecodeForClass(java.lang.Class cl)
          Gives the Java source code for the type of the specified class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

out

protected java.io.PrintWriter out

cl

protected java.lang.Class cl

methods

protected java.lang.reflect.Method[] methods

outputDir

protected java.lang.String outputDir

proxyFileName

protected java.lang.String proxyFileName

proxyClassName

protected java.lang.String proxyClassName

quiet

protected boolean quiet

cache

protected boolean cache

re

protected java.lang.Object re

updateMethodsIf

protected DxHashMap updateMethodsIf
Names of update methods as Strings.


doneMethodsIf

protected java.util.TreeMap doneMethodsIf
Complete signatur of methods already proceeded .

Constructor Detail

ProxyGenerator

public ProxyGenerator(java.lang.Class _cl,
                      java.lang.String _methodPattern,
                      java.lang.String _outputDir,
                      boolean _quiet,
                      boolean _cache)
               throws java.lang.Exception
Method Detail

compileSource

public void compileSource()
                   throws java.lang.Exception
java.lang.Exception

generateClassSource

public void generateClassSource(java.lang.Class cl)
                         throws java.lang.Exception
java.lang.Exception

generateSource

public void generateSource(boolean searchInterfaceSource)

deleteSource

public void deleteSource()
                  throws java.lang.Exception
java.lang.Exception

makeGlobalHeader

public void makeGlobalHeader()
                      throws java.lang.Exception
java.lang.Exception

makeLocalHeader

public void makeLocalHeader()
                     throws java.lang.Exception
java.lang.Exception

searchUpdateMethods

public void searchUpdateMethods(boolean searchInterfaceSource)
                         throws java.lang.Exception
Employ IfHelper and CDHelper to find the methods that need to acquire WRITE lock.

java.lang.Exception

makeCtors

public void makeCtors()
               throws java.lang.Exception
java.lang.Exception

makeCtor

public void makeCtor(java.lang.reflect.Constructor ctor)
              throws java.lang.Exception
java.lang.Exception

determineProxyInterface

protected java.lang.String determineProxyInterface()

determineProxyInterfaceDeep

protected java.lang.String determineProxyInterfaceDeep(java.lang.Class of)

makeCreateMethods

public void makeCreateMethods()
                       throws java.lang.Exception
java.lang.Exception

makeCreateMethod

protected void makeCreateMethod(java.lang.reflect.Constructor ctor)
                         throws java.lang.Exception
java.lang.Exception

makeMethods

public void makeMethods()
                 throws java.lang.Exception
java.lang.Exception

checkMethodLists

public void checkMethodLists()
                      throws java.lang.Exception
Checks if all method names in the update lists are processed.

java.lang.Exception

makeMethod

public void makeMethod(java.lang.reflect.Method m)
                throws java.lang.Exception
java.lang.Exception

typecodeForClass

protected java.lang.String typecodeForClass(java.lang.Class cl)
                                     throws java.lang.Exception
Gives the Java source code for the type of the specified class.

java.lang.Exception

getSourcecodeClassName

protected static java.lang.String getSourcecodeClassName(java.lang.Class cl)
Returns the name of the class in the way it is used within source code. This is similar to the internal class name with the exception that names of inner classes separate between class levels not by '$' but by '.'.


ozone core API

Copyright (C) The Ozone Database Project - www.ozone-db.org. All rights reserved.