- Revision
- 1150
- Author
- rfscholte
- Date
- 2011-04-06 14:58:08 -0500 (Wed, 06 Apr 2011)
Log Message
Add ModelBuilder.parameterList so it can be used for both methods and constructors remove ModelBuilder.addMethod(), must use beginMethod() + endMethod()
Modified Paths
- trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/ModelBuilder.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/AbstractBaseMethod.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/impl/BinaryClassParser.java
- trunk/qdox/src/test/java/com/thoughtworks/qdox/builder/ModelBuilderTest.java
- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaConstructorTest.java
- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaMethodTest.java
Diff
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/ModelBuilder.java (1149 => 1150)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/ModelBuilder.java 2011-04-06 18:59:42 UTC (rev 1149) +++ trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/ModelBuilder.java 2011-04-06 19:58:08 UTC (rev 1150) @@ -19,6 +19,7 @@ * under the License. */ +import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Set; @@ -35,6 +36,7 @@ import com.thoughtworks.qdox.model.DefaultJavaSource; import com.thoughtworks.qdox.model.DocletTag; import com.thoughtworks.qdox.model.DocletTagFactory; +import com.thoughtworks.qdox.model.JavaParameter; import com.thoughtworks.qdox.model.JavaSource; import com.thoughtworks.qdox.model.Type; import com.thoughtworks.qdox.model.TypeVariable; @@ -55,6 +57,7 @@ private final DefaultJavaSource source; private LinkedList<DefaultJavaClass> classStack = new LinkedList<DefaultJavaClass>(); + private List<DefaultJavaParameter> parameterList = new LinkedList<DefaultJavaParameter>(); private DefaultJavaConstructor currentConstructor; private DefaultJavaMethod currentMethod; private List<AnnoDef> currentAnnoDefs; @@ -256,18 +259,20 @@ } // modifiers -// currentConstructor.setModifiers(new LinkedList<String>( def.modifiers )); +// currentConstructor.setModifiers( new LinkedList<String>( def.modifiers ) ); currentMethod.setModifiers(new LinkedList<String>(def.modifiers) ); + + if( !parameterList.isEmpty() ) + { +// currentConstructor.setParameters( new ArrayList<JavaParameter>( parameterList ) ); + currentMethod.setParameters( new ArrayList<JavaParameter>( parameterList ) ); + parameterList.clear(); + } // currentConstructor.setSourceCode(def.body); currentMethod.setSourceCode( def.body ); } - public void addMethod(MethodDef def) { - beginMethod(); - endMethod(def); - } - public void beginMethod() { currentMethod = new DefaultJavaMethod(); currentMethod.setParentClass(classStack.getFirst()); @@ -299,19 +304,20 @@ } // exceptions - { - List<Type> exceptions = new LinkedList<Type>(); - for (TypeDef type : def.exceptions) { - exceptions.add(createType(type, 0)); - } - currentMethod.setExceptions(exceptions); + List<Type> exceptions = new LinkedList<Type>(); + for (TypeDef type : def.exceptions) { + exceptions.add(createType(type, 0)); } + currentMethod.setExceptions(exceptions); // modifiers - { - currentMethod.setModifiers(new LinkedList<String>( def.modifiers )); + currentMethod.setModifiers(new LinkedList<String>( def.modifiers )); + + if( !parameterList.isEmpty() ) { + currentMethod.setParameters( new ArrayList<JavaParameter>( parameterList ) ); + parameterList.clear(); } - + currentMethod.setSourceCode(def.body); } @@ -355,7 +361,7 @@ jParam.setModelWriterFactory(modelWriterFactory); addJavaDoc( jParam ); setAnnotations( jParam ); - currentMethod.addParameter( jParam ); + parameterList.add( jParam ); } private void setAnnotations( final AbstractBaseJavaEntity entity ) {
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/AbstractBaseMethod.java (1149 => 1150)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/AbstractBaseMethod.java 2011-04-06 18:59:42 UTC (rev 1149) +++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/AbstractBaseMethod.java 2011-04-06 19:58:08 UTC (rev 1150) @@ -50,10 +50,10 @@ return getParentClass(); } - public void addParameter( JavaParameter javaParameter ) + public void setParameters( List<JavaParameter> javaParameters ) { - parameters.add( javaParameter ); - this.varArgs = javaParameter.isVarArgs(); + parameters.addAll( javaParameters ); + this.varArgs = javaParameters.get( javaParameters.size() -1 ).isVarArgs(); } public void setExceptions( List<Type> exceptions )
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/impl/BinaryClassParser.java (1149 => 1150)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/impl/BinaryClassParser.java 2011-04-06 18:59:42 UTC (rev 1149) +++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/impl/BinaryClassParser.java 2011-04-06 19:58:08 UTC (rev 1150) @@ -159,7 +159,7 @@ Class<?> exception = exceptions[j]; methodDef.exceptions.add(getTypeDef(exception)); } - binaryBuilder.addMethod(methodDef); + binaryBuilder.beginMethod(); for (int j = 0; j < parameterTypes.length; j++) { FieldDef param = new FieldDef(); Class<?> parameterType = parameterTypes[j]; @@ -168,6 +168,7 @@ param.dimensions = getDimension(parameterType); binaryBuilder.addParameter( param ); } + binaryBuilder.endMethod(methodDef); } private static final int getDimension(Class<?> c) {
Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/builder/ModelBuilderTest.java (1149 => 1150)
--- trunk/qdox/src/test/java/com/thoughtworks/qdox/builder/ModelBuilderTest.java 2011-04-06 18:59:42 UTC (rev 1149) +++ trunk/qdox/src/test/java/com/thoughtworks/qdox/builder/ModelBuilderTest.java 2011-04-06 19:58:08 UTC (rev 1150) @@ -260,18 +260,24 @@ public void testAddMethodsToCorrectClass() throws Exception { builder.beginClass(new ClassDef()); - builder.addMethod(new MethodDef()); + builder.beginMethod(); + builder.endMethod(new MethodDef()); builder.endClass(); builder.beginClass(new ClassDef()); - builder.addMethod(new MethodDef()); - builder.addMethod(new MethodDef()); - builder.addMethod(new MethodDef()); + builder.beginMethod(); + builder.endMethod(new MethodDef()); + builder.beginMethod(); + builder.endMethod(new MethodDef()); + builder.beginMethod(); + builder.endMethod(new MethodDef()); builder.endClass(); builder.beginClass(new ClassDef()); - builder.addMethod(new MethodDef()); - builder.addMethod(new MethodDef()); + builder.beginMethod(); + builder.endMethod(new MethodDef()); + builder.beginMethod(); + builder.endMethod(new MethodDef()); builder.endClass(); JavaSource source = builder.getSource(); @@ -293,12 +299,14 @@ MethodDef fooDef = new MethodDef(); fooDef.name = "foo"; - builder.addMethod(fooDef); + builder.beginMethod(); + builder.endMethod(fooDef); builder.endClass(); MethodDef barDef = new MethodDef(); barDef.name = "bar"; - builder.addMethod(barDef); + builder.beginMethod(); + builder.endMethod(barDef); builder.endClass(); JavaSource source = builder.getSource(); @@ -319,7 +327,8 @@ MethodDef mth = new MethodDef(); mth.name = "doSomething"; mth.returnType = new TypeDef("void"); - builder.addMethod(mth); + builder.beginMethod(); + builder.endMethod(mth); builder.endClass(); JavaSource source = builder.getSource(); @@ -339,7 +348,8 @@ mth.name = "doSomething"; mth.returnType = new TypeDef("void"); mth.dimensions = 0; - builder.addMethod(mth); + builder.beginMethod(); + builder.endMethod(mth); builder.endClass(); JavaSource source = builder.getSource(); @@ -353,7 +363,8 @@ mth.name = "doSomething"; mth.returnType = new TypeDef("void"); mth.dimensions = 1; - builder.addMethod(mth); + builder.beginMethod(); + builder.endMethod(mth); builder.endClass(); JavaSource source = builder.getSource(); @@ -367,7 +378,8 @@ mth.name = "doSomething"; mth.returnType = new TypeDef("void"); mth.dimensions = 2; - builder.addMethod(mth); + builder.beginMethod(); + builder.endMethod(mth); builder.endClass(); JavaSource source = builder.getSource(); @@ -377,10 +389,10 @@ public void testMethodParameters() throws Exception { builder.beginClass(new ClassDef()); + builder.beginMethod(); + MethodDef mth = new MethodDef(); - builder.addMethod(mth); - FieldDef f1 = new FieldDef(); f1.name = "count"; f1.type = new TypeDef("int"); @@ -392,6 +404,7 @@ f2.type = new TypeDef("String"); builder.addParameter( f2 ); + builder.endMethod(mth); builder.endClass(); JavaSource source = builder.getSource(); @@ -405,8 +418,8 @@ public void testMethodParametersWithArrays() throws Exception { builder.beginClass(new ClassDef()); + builder.beginMethod(); MethodDef mth = new MethodDef(); - builder.addMethod(mth); FieldDef f1 = new FieldDef(); f1.name = "count"; @@ -422,6 +435,7 @@ f2.dimensions = 2; builder.addParameter( f2 ); + builder.endMethod(mth); builder.endClass(); JavaSource source = builder.getSource(); @@ -437,7 +451,8 @@ mth.exceptions.add(new TypeDef("RuntimeException")); mth.exceptions.add(new TypeDef("java.io.IOException")); - builder.addMethod(mth); + builder.beginMethod(); + builder.endMethod(mth); builder.endClass(); JavaSource source = builder.getSource(); @@ -457,7 +472,8 @@ mth.modifiers.add("final"); mth.modifiers.add("synchronized"); - builder.addMethod(mth); + builder.beginMethod(); + builder.endMethod(mth); builder.endClass(); JavaSource source = builder.getSource(); @@ -564,12 +580,14 @@ MethodDef mth = new MethodDef(); mth.name = "MyClass"; mth.constructor = true; - builder.addMethod(mth); + builder.beginMethod(); + builder.endMethod(mth); MethodDef mth2 = new MethodDef(); mth2.name = "method"; mth2.returnType = new TypeDef("void"); - builder.addMethod(mth2); + builder.beginMethod(); + builder.endMethod(mth2); builder.endClass(); JavaSource source = builder.getSource(); @@ -616,7 +634,8 @@ builder.beginClass(new ClassDef()); builder.addJavaDoc("Hello"); - builder.addMethod(new MethodDef()); + builder.beginMethod(); + builder.endMethod(new MethodDef()); builder.endClass(); JavaSource source = builder.getSource(); @@ -645,15 +664,18 @@ builder.addField(new FieldDef());// f0 builder.addJavaDoc("Hello"); - builder.addMethod(new MethodDef());//m0 + builder.beginMethod(); + builder.endMethod(new MethodDef());//m0 builder.addJavaDoc("Hello field"); builder.addField(new FieldDef());//f1 - builder.addMethod(new MethodDef());//m1 + builder.beginMethod(); + builder.endMethod(new MethodDef());//m1 builder.addJavaDoc("World"); - builder.addMethod(new MethodDef());//m2 + builder.beginMethod(); + builder.endMethod(new MethodDef());//m2 builder.endClass(); @@ -725,7 +747,8 @@ builder.addJavaDoc(""); builder.addJavaDocTag(new TagDef("food", "is great")); - builder.addMethod(new MethodDef()); + builder.beginMethod(); + builder.endMethod(new MethodDef()); builder.addJavaDoc(""); builder.addJavaDocTag(new TagDef("chairs", "are boring"));
Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaConstructorTest.java (1149 => 1150)
--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaConstructorTest.java 2011-04-06 18:59:42 UTC (rev 1149) +++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaConstructorTest.java 2011-04-06 19:58:08 UTC (rev 1150) @@ -25,11 +25,7 @@ @Override protected void setParameters( DefaultJavaConstructor constructor, List<JavaParameter> parameters ) { - for ( JavaParameter javaParameter : parameters ) - { - constructor.addParameter( javaParameter ); - } - + constructor.setParameters( parameters ); } @Override
Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaMethodTest.java (1149 => 1150)
--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaMethodTest.java 2011-04-06 18:59:42 UTC (rev 1149) +++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/DefaultJavaMethodTest.java 2011-04-06 19:58:08 UTC (rev 1150) @@ -79,10 +79,7 @@ @Override public void setParameters( DefaultJavaMethod method, List<JavaParameter> parameters ) { - for ( JavaParameter javaParameter : parameters ) - { - method.addParameter( javaParameter ); - } + method.setParameters( parameters ); } public void setSourceCode( DefaultJavaMethod method, String code )
To unsubscribe from this list please visit:
