Title: [1360] trunk/qdox/src/test/java/com/thoughtworks/qdox: DefaultJavaClass changed to DefaultJavaClass<T extends JavaClass & JavaParameterizedType> so we can easily use T for the superclass and implementz

Diff

Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/DefaultJavaClass.java (1359 => 1360)

--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/DefaultJavaClass.java	2011-10-02 20:28:53 UTC (rev 1359)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/DefaultJavaClass.java	2011-10-02 20:42:47 UTC (rev 1360)
@@ -33,7 +33,7 @@
  * @author <a href="" Walnes</a>
  * @author Aslak Helles&oslash;y
  */
-public class DefaultJavaClass extends AbstractInheritableJavaEntity implements JavaClass {
+public class DefaultJavaClass<T extends JavaClass & JavaParameterizedType> extends AbstractInheritableJavaEntity implements JavaClass {
 
     private List<JavaConstructor> constructors = new LinkedList<JavaConstructor>();
     private List<JavaMethod> methods = new LinkedList<JavaMethod>();
@@ -43,8 +43,8 @@
     private boolean anEnum;
     private boolean anAnnotation;
 
-    private Type superClass;
-    private List<Type> implementz = new LinkedList<Type>();
+    private T superClass;
+    private List<T> implementz = new LinkedList<T>();
     private List<TypeVariable<JavaClass>> typeParameters = new LinkedList<TypeVariable<JavaClass>>(); 
     
     //sourceless class can use this property
@@ -115,7 +115,7 @@
     /* (non-Javadoc)
      * @see com.thoughtworks.qdox.model.JavaClass#getSuperClass()
      */
-    public Type getSuperClass() {
+    public JavaType getSuperClass() {
         Type OBJECT_TYPE = getJavaClassLibrary().getJavaClass( "java.lang.Object" ).asType();
         Type ENUM_TYPE = getJavaClassLibrary().getJavaClass( "java.lang.Enum" ).asType();
         
@@ -127,7 +127,7 @@
             return OBJECT_TYPE;
         }
 
-        return superClass;
+        return (JavaType) superClass;
     }
     
     /**
@@ -158,8 +158,8 @@
     /* (non-Javadoc)
      * @see com.thoughtworks.qdox.model.JavaClass#getImplements()
      */
-    public List<Type> getImplements() {
-        return implementz;
+    public List<JavaType> getImplements() {
+        return new LinkedList<JavaType>( implementz );
     }
 
 
@@ -210,7 +210,7 @@
         methods.add(meth);
     }
 
-    public void setSuperClass(Type type) {
+    public void setSuperClass(T type) {
         if (anEnum) 
         {
             throw new IllegalArgumentException("enums cannot extend other classes");   
@@ -218,7 +218,7 @@
         superClass = type;
     }
 
-    public void setImplementz(List<Type> implementz) {
+    public void setImplementz(List<T> implementz) {
         this.implementz = implementz;
     }
     

Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/JavaClass.java (1359 => 1360)

--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/JavaClass.java	2011-10-02 20:28:53 UTC (rev 1359)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/JavaClass.java	2011-10-02 20:42:47 UTC (rev 1360)
@@ -71,7 +71,7 @@
      */
     JavaClass getSuperJavaClass();
 
-    List<Type> getImplements();
+    List<JavaType> getImplements();
 
     /**
      * @since 1.3

Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/Type.java (1359 => 1360)

--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/Type.java	2011-10-02 20:28:53 UTC (rev 1359)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/Type.java	2011-10-02 20:42:47 UTC (rev 1360)
@@ -449,7 +449,7 @@
             }
             else
             {
-                for ( Type implement : callingClass.getImplements() )
+                for ( JavaClass implement : callingClass.getInterfaces() )
                 {
                     if ( fqn.equals( implement.getFullyQualifiedName() ) )
                     {
@@ -698,7 +698,7 @@
      * (non-Javadoc)
      * @see com.thoughtworks.qdox.model.JavaClass#getImplements()
      */
-    public List<Type> getImplements()
+    public List<JavaType> getImplements()
     {
         return resolveRealClass().getImplements();
     }

Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/writer/DefaultModelWriter.java (1359 => 1360)

--- trunk/qdox/src/main/java/com/thoughtworks/qdox/writer/DefaultModelWriter.java	2011-10-02 20:28:53 UTC (rev 1359)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/writer/DefaultModelWriter.java	2011-10-02 20:42:47 UTC (rev 1360)
@@ -34,6 +34,7 @@
 import com.thoughtworks.qdox.model.JavaPackage;
 import com.thoughtworks.qdox.model.JavaParameter;
 import com.thoughtworks.qdox.model.JavaSource;
+import com.thoughtworks.qdox.model.JavaType;
 import com.thoughtworks.qdox.model.Type;
 import com.thoughtworks.qdox.model._expression_.AnnotationValue;
 
@@ -126,7 +127,7 @@
         {
             buffer.write( cls.isInterface() ? " extends " : " implements " );
 
-            for ( ListIterator<Type> iter = cls.getImplements().listIterator(); iter.hasNext(); )
+            for ( ListIterator<JavaType> iter = cls.getImplements().listIterator(); iter.hasNext(); )
             {
                 buffer.write( iter.next().getCanonicalName() );
                 if ( iter.hasNext() )

Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/JSR14Test.java (1359 => 1360)

--- trunk/qdox/src/test/java/com/thoughtworks/qdox/JSR14Test.java	2011-10-02 20:28:53 UTC (rev 1359)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/JSR14Test.java	2011-10-02 20:42:47 UTC (rev 1360)
@@ -309,7 +309,7 @@
         String source = "public class Something implements java.util.List<String> {}";
         JavaSource javaSource = builder.addSource(new StringReader(source));
         JavaClass javaClass = javaSource.getClasses().get(0);
-        Type implementsClass = javaClass.getImplements().get(0);
+        JavaType implementsClass = javaClass.getImplements().get(0);
         assertEquals("java.util.List", implementsClass.getFullyQualifiedName());
         assertEquals("java.util.List<java.lang.String>", implementsClass.getGenericFullyQualifiedName());
         assertEquals("java.util.List", implementsClass.getValue());
@@ -320,7 +320,7 @@
         String source = "public class Something implements java.util.Map<String, Object> {}";
         JavaSource javaSource = builder.addSource(new StringReader(source));
         JavaClass javaClass = javaSource.getClasses().get(0);
-        Type implementsClass = javaClass.getImplements().get(0);
+        JavaType implementsClass = javaClass.getImplements().get(0);
         assertEquals("java.util.Map", implementsClass.getFullyQualifiedName());
         assertEquals("java.util.Map<java.lang.String,java.lang.Object>", implementsClass.getGenericFullyQualifiedName());
         assertEquals("java.util.Map", implementsClass.getValue());
@@ -331,7 +331,7 @@
     	String source = "public class Something implements java.util.List<?>{}";
     	JavaSource javaSource = builder.addSource(new StringReader(source));
     	JavaClass javaClass = javaSource.getClasses().get(0);
-    	Type implementsClass = javaClass.getImplements().get(0);
+    	JavaType implementsClass = javaClass.getImplements().get(0);
     	assertEquals("java.util.List<?>", implementsClass.getGenericValue());
     }
 
@@ -339,7 +339,7 @@
 		String source = "public class Something implements java.util.List<? extends Number> {}";
     	JavaSource javaSource = builder.addSource(new StringReader(source));
     	JavaClass javaClass = javaSource.getClasses().get(0);
-    	Type implementsClass = javaClass.getImplements().get(0);
+    	JavaType implementsClass = javaClass.getImplements().get(0);
     	assertEquals("java.util.List", implementsClass.getFullyQualifiedName());
         assertEquals("java.util.List<? extends java.lang.Number>", implementsClass.getGenericFullyQualifiedName());
         assertEquals("java.util.List", implementsClass.getValue());
@@ -350,7 +350,7 @@
 		String source = "public class Something implements java.util.List<? super Integer> {}";
     	JavaSource javaSource = builder.addSource(new StringReader(source));
     	JavaClass javaClass = javaSource.getClasses().get(0);
-    	Type implementsClass = javaClass.getImplements().get(0);
+    	JavaType implementsClass = javaClass.getImplements().get(0);
     	assertEquals("java.util.List", implementsClass.getFullyQualifiedName());
         assertEquals("java.util.List<? super java.lang.Integer>", implementsClass.getGenericFullyQualifiedName());
         assertEquals("java.util.List", implementsClass.getValue());
@@ -361,7 +361,7 @@
 		String source = "public class Something implements java.util.List<java.util.Set<String>> {}";
     	JavaSource javaSource = builder.addSource(new StringReader(source));
     	JavaClass javaClass = javaSource.getClasses().get(0);
-    	Type implementsClass = javaClass.getImplements().get(0);
+    	JavaType implementsClass = javaClass.getImplements().get(0);
     	assertEquals("java.util.List", implementsClass.getFullyQualifiedName());
         assertEquals("java.util.List<java.util.Set<java.lang.String>>", implementsClass.getGenericFullyQualifiedName());
         assertEquals("java.util.List", implementsClass.getValue());
@@ -372,7 +372,7 @@
 		String source = "public class Something implements java.util.List<java.util.Set<String>> {}";
     	JavaSource javaSource = builder.addSource(new StringReader(source));
     	JavaClass javaClass = javaSource.getClasses().get(0);
-    	Type implementsClass = javaClass.getImplements().get(0);
+    	JavaType implementsClass = javaClass.getImplements().get(0);
     	assertEquals("java.util.List", implementsClass.getFullyQualifiedName());
         assertEquals("java.util.List<java.util.Set<java.lang.String>>", implementsClass.getGenericFullyQualifiedName());
         assertEquals("java.util.List", implementsClass.getValue());

Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java (1359 => 1360)

--- trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java	2011-10-02 20:28:53 UTC (rev 1359)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java	2011-10-02 20:42:47 UTC (rev 1360)
@@ -32,6 +32,7 @@
 import com.thoughtworks.qdox.model.JavaMethod;
 import com.thoughtworks.qdox.model.JavaPackage;
 import com.thoughtworks.qdox.model.JavaSource;
+import com.thoughtworks.qdox.model.JavaType;
 import com.thoughtworks.qdox.model.Type;
 import com.thoughtworks.qdox.model.util.SerializationUtils;
 import com.thoughtworks.qdox.parser.ParseException;
@@ -316,7 +317,7 @@
         assertEquals("java.util.ArrayList", returnClass.getFullyQualifiedName());
 
         boolean foundList = false;
-        for (Type type : returnClass.getImplements()) {
+        for (JavaType type : returnClass.getImplements()) {
             if (type.getValue().equals("java.util.List")) {
                 foundList = true;
             }


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to