- Revision
- 680
- Author
- rfscholte
- Date
- 2009-11-25 16:55:51 -0600 (Wed, 25 Nov 2009)
Log Message
QDOX-192: deprecate AbstractBaseJavaEntity.parent
Modified Paths
- trunk/qdox/src/java/com/thoughtworks/qdox/model/AbstractBaseJavaEntity.java
- trunk/qdox/src/java/com/thoughtworks/qdox/model/AbstractJavaEntity.java
- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaClass.java
- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaField.java
- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaMethod.java
- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaParameter.java
- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaSource.java
- trunk/qdox/src/java/com/thoughtworks/qdox/model/ModelBuilder.java
Diff
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/AbstractBaseJavaEntity.java (679 => 680)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/AbstractBaseJavaEntity.java 2009-11-15 13:48:43 UTC (rev 679) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/AbstractBaseJavaEntity.java 2009-11-25 22:55:51 UTC (rev 680) @@ -37,12 +37,29 @@ this.lineNumber = lineNumber; } + /** + * + * @return + * @deprecated + */ public JavaClassParent getParent() { return parent; } + /** + * + * @param parent + * @deprecated + */ public void setParent(JavaClassParent parent) { this.parent = parent; } + + /** + * Not every entity has a parentClass, but AnnotationFieldRef requires access to it. + * + * @return + */ + public JavaClass getParentClass() { return null; } } \ No newline at end of file
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/AbstractJavaEntity.java (679 => 680)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/AbstractJavaEntity.java 2009-11-15 13:48:43 UTC (rev 679) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/AbstractJavaEntity.java 2009-11-25 22:55:51 UTC (rev 680) @@ -10,6 +10,8 @@ protected List modifiers = new ArrayList(); private String comment; private DocletTag[] tags = new DocletTag[0]; + + private JavaClass parentClass; /** * Return list of modifiers as Strings. * (public, private, protected, final, abstract, static) @@ -212,7 +214,16 @@ } public JavaSource getSource() { - return parent.getParentSource(); + return parentClass.getParentSource(); } + public void setParentClass( JavaClass parentClass ) + { + this.parentClass = parentClass; + } + + public JavaClass getParentClass() + { + return parentClass; + } }
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaClass.java (679 => 680)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaClass.java 2009-11-15 13:48:43 UTC (rev 679) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaClass.java 2009-11-25 22:55:51 UTC (rev 680) @@ -36,7 +36,11 @@ private Type superClass; private Type[] implementz = new Type[0]; private JavaClassContext context; + + //sourceless class can use this property private JavaPackage javaPackage; + + private JavaSource source; public JavaClass() { } @@ -182,7 +186,7 @@ } public void addMethod(JavaMethod meth) { - meth.setParent(this); + meth.setParentClass( this ); methods.add(meth); methodsArray = null; } @@ -197,23 +201,41 @@ } public void addField(JavaField javaField) { - javaField.setParent(this); + javaField.setParentClass( this ); fields.add(javaField); fieldsArray = null; } + /** + * Only used when constructing the model by hand / without source + * + * @param javaPackage + */ public void setJavaPackage(JavaPackage javaPackage) { this.javaPackage = javaPackage; } + public void setSource( JavaSource source ) + { + this.source = source; + } + public JavaSource getParentSource() { - JavaClassParent parent = getParent(); - return ((parent == null) ? null : parent.getParentSource()); + return (getParentClass() != null ? getParentClass().getParentSource() : source); } public JavaPackage getPackage() { - return (getParentSource() != null ? getParentSource().getPackage() : javaPackage); + return getParentSource() != null ? getParentSource().getPackage() : javaPackage; } + + public JavaClassParent getParent() + { + JavaClassParent result = getParentClass(); + if (result == null) { + result = getParentSource(); + } + return result; + } /** * If this class has a package, the packagename will be returned. @@ -227,14 +249,14 @@ } public String getFullyQualifiedName() { - return (getParent() != null ? (getParent().getClassNamePrefix()) : javaPackage != null ? (javaPackage.getName()+".") : "") + getName(); + return (getParentClass() != null ? (getParentClass().getClassNamePrefix()) : getPackage() != null ? (getPackage().getName()+".") : "") + getName(); } /** * @since 1.3 */ public boolean isInner() { - return getParent() instanceof JavaClass; + return getParentClass() != null; } public String resolveType(String typeName) { @@ -415,7 +437,7 @@ } public void addClass(JavaClass cls) { - cls.setParent(this); + cls.setParentClass( this ); classes.add(cls); classesArray = null; }
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaField.java (679 => 680)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaField.java 2009-11-15 13:48:43 UTC (rev 679) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaField.java 2009-11-25 22:55:51 UTC (rev 680) @@ -1,7 +1,5 @@ package com.thoughtworks.qdox.model; -import java.io.ObjectInputStream.GetField; - public class JavaField extends AbstractJavaEntity implements Member { private Type type; @@ -99,7 +97,7 @@ result.append("volatile "); } result.append(getType().getValue() + " "); - result.append(((JavaClass)getParent()).getFullyQualifiedName() + "." +getName()); + result.append(getParentClass().getFullyQualifiedName() + "." +getName()); return result.toString(); } }
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaMethod.java (679 => 680)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaMethod.java 2009-11-15 13:48:43 UTC (rev 679) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaMethod.java 2009-11-25 22:55:51 UTC (rev 680) @@ -202,14 +202,6 @@ return hashCode; } - public JavaClass getParentClass() { - return (JavaClass) getParent(); - } - - public void setParentClass(JavaClass parentClass) { - setParent(parentClass); - } - public boolean isPublic() { return super.isPublic() || (getParentClass() != null ? getParentClass().isInterface() : false); }
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaParameter.java (679 => 680)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaParameter.java 2009-11-15 13:48:43 UTC (rev 679) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaParameter.java 2009-11-25 22:55:51 UTC (rev 680) @@ -47,6 +47,11 @@ public void setParentMethod(JavaMethod parentMethod) { this.parentMethod = parentMethod; } + + public JavaClass getParentClass() + { + return getParentMethod().getParentClass(); + } /** * Is this a Java 5 var args type specified using three dots. e.g. void doStuff(Object... thing)
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaSource.java (679 => 680)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaSource.java 2009-11-15 13:48:43 UTC (rev 679) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaSource.java 2009-11-25 22:55:51 UTC (rev 680) @@ -102,7 +102,7 @@ } public void addClass(JavaClass cls) { - cls.setParent(this); + cls.setSource( this ); classes.add(cls); classesArray = null; }
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/ModelBuilder.java (679 => 680)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/ModelBuilder.java 2009-11-15 13:48:43 UTC (rev 679) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/ModelBuilder.java 2009-11-25 22:55:51 UTC (rev 680) @@ -78,7 +78,6 @@ public void beginClass(ClassDef def) { currentClass = new JavaClass(); - currentClass.setParent(currentParent); currentClass.setLineNumber(def.lineNumber); // basic details @@ -87,7 +86,6 @@ currentClass.setEnum(ClassDef.ENUM.equals(def.type)); currentClass.setAnnotation(ClassDef.ANNOTATION_TYPE.equals(def.type)); - // superclass if (currentClass.isInterface()) { currentClass.setSuperClass(null); @@ -259,7 +257,7 @@ public void addField(FieldDef def) { JavaField currentField = new JavaField(); - currentField.setParent(currentClass); + currentField.setParentClass(currentClass); currentField.setLineNumber(def.lineNumber); currentField.setName(def.name);
To unsubscribe from this list please visit:
