- Revision
- 1080
- Author
- rfscholte
- Date
- 2011-02-26 05:31:17 -0600 (Sat, 26 Feb 2011)
Log Message
Prepare Builder for JavaConstructor
Modified Paths
- trunk/qdox/src/java/com/thoughtworks/qdox/builder/Builder.java
- trunk/qdox/src/java/com/thoughtworks/qdox/builder/ModelBuilder.java
- trunk/qdox/src/java/com/thoughtworks/qdox/model/DefaultJavaClass.java
- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaClass.java
- trunk/qdox/src/test/com/thoughtworks/qdox/parser/MockBuilder.java
Diff
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/builder/Builder.java (1079 => 1080)
--- trunk/qdox/src/java/com/thoughtworks/qdox/builder/Builder.java 2011-02-26 11:30:33 UTC (rev 1079) +++ trunk/qdox/src/java/com/thoughtworks/qdox/builder/Builder.java 2011-02-26 11:31:17 UTC (rev 1080) @@ -42,6 +42,9 @@ void beginClass(ClassDef def); void endClass(); + void beginConstructor(); + void endConstructor(MethodDef def); + void beginMethod(); void endMethod(MethodDef def);
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/builder/ModelBuilder.java (1079 => 1080)
--- trunk/qdox/src/java/com/thoughtworks/qdox/builder/ModelBuilder.java 2011-02-26 11:30:33 UTC (rev 1079) +++ trunk/qdox/src/java/com/thoughtworks/qdox/builder/ModelBuilder.java 2011-02-26 11:31:17 UTC (rev 1080) @@ -27,6 +27,7 @@ import com.thoughtworks.qdox.model.AbstractBaseJavaEntity; import com.thoughtworks.qdox.model.Annotation; import com.thoughtworks.qdox.model.DefaultJavaClass; +import com.thoughtworks.qdox.model.DefaultJavaConstructor; import com.thoughtworks.qdox.model.DefaultJavaField; import com.thoughtworks.qdox.model.DefaultJavaMethod; import com.thoughtworks.qdox.model.DefaultJavaPackage; @@ -54,6 +55,7 @@ private final DefaultJavaSource source; private LinkedList<DefaultJavaClass> classStack = new LinkedList<DefaultJavaClass>(); + private DefaultJavaConstructor currentConstructor; private DefaultJavaMethod currentMethod; private List<AnnoDef> currentAnnoDefs; private String lastComment; @@ -199,7 +201,59 @@ lastComment = null; } + + public void addConstructor(MethodDef def) { + beginConstructor(); + endConstructor(def); + } + + + public void beginConstructor() + { + currentConstructor = new DefaultJavaConstructor(); + currentConstructor.setParentClass( classStack.getFirst() ); + classStack.getFirst().addConstructor( currentConstructor ); + + currentConstructor.setModelWriterFactory( modelWriterFactory ); + + addJavaDoc( currentConstructor ); + setAnnotations( currentConstructor ); + } + + public void endConstructor( MethodDef def ) + { + currentConstructor.setLineNumber(def.lineNumber); + + // basic details + currentConstructor.setName(def.name); + + // typeParameters + if (def.typeParams != null) { + List<TypeVariable> typeParams = new LinkedList<TypeVariable>(); + for(TypeVariableDef typeVariableDef : def.typeParams) { + typeParams.add(createTypeVariable(typeVariableDef)); + } + currentConstructor.setTypeParameters(typeParams); + } + + // exceptions + { + List<Type> exceptions = new LinkedList<Type>(); + for (TypeDef type : def.exceptions) { + exceptions.add(createType(type, 0)); + } + currentConstructor.setExceptions(exceptions); + } + + // modifiers + { + currentConstructor.setModifiers(new LinkedList<String>( def.modifiers )); + } + + currentConstructor.setSourceCode(def.body); + } + public void addMethod(MethodDef def) { beginMethod(); endMethod(def);
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/DefaultJavaClass.java (1079 => 1080)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/DefaultJavaClass.java 2011-02-26 11:30:33 UTC (rev 1079) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/DefaultJavaClass.java 2011-02-26 11:31:17 UTC (rev 1080) @@ -42,6 +42,7 @@ private static JavaClass OBJECT_JAVACLASS; private static JavaClass ENUM_JAVACLASS; + private List<JavaConstructor> constructors = new LinkedList<JavaConstructor>(); private List<JavaMethod> methods = new LinkedList<JavaMethod>(); private List<JavaField> fields = new LinkedList<JavaField>(); private List<JavaClass> classes = new LinkedList<JavaClass>(); @@ -190,6 +191,11 @@ this.isAnnotation = isAnnotation; } + public void addConstructor( JavaConstructor constructor ) + { + constructors.add( constructor ); + } + public void addMethod(JavaMethod meth) { methods.add(meth); } @@ -316,6 +322,11 @@ return type; } + public List<JavaConstructor> getConstructors() + { + return constructors; + } + /* (non-Javadoc) * @see com.thoughtworks.qdox.model.JavaClass#getMethods() */ @@ -723,4 +734,5 @@ { return getSource().getJavaClassLibrary(); } + }
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaClass.java (1079 => 1080)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaClass.java 2011-02-26 11:30:33 UTC (rev 1079) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaClass.java 2011-02-26 11:31:17 UTC (rev 1080) @@ -97,6 +97,13 @@ public Type asType(); public List<JavaMethod> getMethods(); + + /** + * + * @return the list of constrcutors + * @since 2.0 + */ + public List<JavaConstructor> getConstructors(); /** * @since 1.3
Modified: trunk/qdox/src/test/com/thoughtworks/qdox/parser/MockBuilder.java (1079 => 1080)
--- trunk/qdox/src/test/com/thoughtworks/qdox/parser/MockBuilder.java 2011-02-26 11:30:33 UTC (rev 1079) +++ trunk/qdox/src/test/com/thoughtworks/qdox/parser/MockBuilder.java 2011-02-26 11:31:17 UTC (rev 1080) @@ -26,6 +26,9 @@ private ExpectationCounter myBeginClassCalls = new ExpectationCounter("com.thoughtworks.qdox.parser.Builder BeginClassCalls"); private ExpectationList myBeginClassParameter0Values = new ExpectationList("com.thoughtworks.qdox.parser.Builder.beginClass() : com.thoughtworks.qdox.parser.structs.ClassDef def"); private ExpectationCounter myEndClassCalls = new ExpectationCounter("com.thoughtworks.qdox.parser.Builder EndClassCalls"); + private ExpectationCounter myBeginConstructorCalls = new ExpectationCounter("com.thoughtworks.qdox.parser.Builder BeginConstructorCalls"); + private ExpectationCounter myEndConstructorCalls = new ExpectationCounter("com.thoughtworks.qdox.parser.Builder EndConstructorCalls"); + private ExpectationList myEndConstructorParameter0Values = new ExpectationList("com.thoughtworks.qdox.parser.Builder.endConstructor() : com.thoughtworks.qdox.parser.structs.MethodDef def"); private ExpectationCounter myBeginMethodCalls = new ExpectationCounter("com.thoughtworks.qdox.parser.Builder BeginMethodCalls"); private ExpectationCounter myEndMethodCalls = new ExpectationCounter("com.thoughtworks.qdox.parser.Builder EndMethodCalls"); private ExpectationList myEndMethodParameter0Values = new ExpectationList("com.thoughtworks.qdox.parser.Builder.endMethod() : com.thoughtworks.qdox.parser.structs.MethodDef def"); @@ -107,6 +110,11 @@ public void endClass() { myEndClassCalls.inc(); } + + public void beginConstructor() + { + myBeginConstructorCalls.inc(); + } public void beginMethod() { myBeginMethodCalls.inc(); @@ -118,6 +126,12 @@ public void addExpectedAddMethodValues(MethodDef arg0) { myEndMethodParameter0Values.addExpected(arg0); } + + public void endConstructor( MethodDef def ) + { + myEndConstructorCalls.inc(); + myEndConstructorParameter0Values.addActual(def); + } public void endMethod(MethodDef arg0) { myEndMethodCalls.inc();
To unsubscribe from this list please visit:
