org.ozoneDB.tools.OPP.srcgen.direct
Class ReflectionClassDirector
java.lang.Object
org.ozoneDB.tools.OPP.srcgen.direct.ReflectionClassDirector
- All Implemented Interfaces:
- ClassDirector
- public class ReflectionClassDirector
- extends java.lang.Object
- implements ClassDirector
This ClassDirector uses reflection as the foundation of directs.
In order to determine the LockLevel of the different methods the Director can be paired with an UpdateMethodResolver..
- Author:
- Joakim Ohlrogge
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
resolver
private MethodResolver resolver
filterInterface
private java.lang.Class filterInterface
processedMethods
private java.util.Set processedMethods
msgWriter
private MessageWriter msgWriter
ReflectionClassDirector
public ReflectionClassDirector(MessageWriter msgListener,
MethodResolver resolver)
ReflectionClassDirector
public ReflectionClassDirector(MessageWriter msgListener,
MethodResolver resolver,
java.lang.Class filterInterface)
build
public void build(java.lang.String fullClassName,
ClassBuilder builder)
throws BuilderException
- Specified by:
build
in interface ClassDirector
- Throws:
BuilderException
buildMethodsDeep
private void buildMethodsDeep(java.lang.Class itf,
ClassBuilder builder,
java.util.Map updateMethods)
throws BuilderException
- Throws:
BuilderException
isProcessedAndMarkMethod
private boolean isProcessedAndMarkMethod(java.lang.reflect.Method method)
getSourcecodeClassName
private java.lang.String getSourcecodeClassName(java.lang.String cl)
- Returns the name of the class in the way it is used within resolver 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 '.'.
getClassNames
private java.lang.String[] getClassNames(java.lang.Class[] types)
typecodeForClass
protected java.lang.String typecodeForClass(java.lang.Class cl)
getParameters
private ClassBuilder.Parameter[] getParameters(java.lang.Class[] parameterTypes)
Copyright (C) The Ozone Database Project - www.ozone-db.org. All rights reserved.