You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by pc...@apache.org on 2004/03/12 00:01:42 UTC
cvs commit: xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor CompositeJVisitor.java CompositeMVisitor.java JVisitor.java MVisitor.java TraversingJVisitor.java TraversingMVisitor.java CommentInitializer.java PropertyInitializer.java CompositeJElementVisitor.java CompositeMElementVisitor.java JElementVisitor.java MElementVisitor.java
pcal 2004/03/11 15:01:42
Modified: v2/jam build.xml
v2/jam/src/org/apache/xmlbeans/impl/jam JElement.java
JParameter.java JamServiceParams.java
v2/jam/src/org/apache/xmlbeans/impl/jam/internal
JamClassLoaderImpl.java JamServiceContextImpl.java
v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements
AnnotatedElementImpl.java AnnotationImpl.java
BuiltinClassImpl.java ClassImpl.java
CommentImpl.java ConstructorImpl.java
ElementImpl.java FieldImpl.java InvokableImpl.java
MethodImpl.java PackageImpl.java ParameterImpl.java
v2/jam/src/org/apache/xmlbeans/impl/jam/internal/javadoc
JavadocClassBuilder.java
v2/jam/src/org/apache/xmlbeans/impl/jam/mutable
MAnnotatedElement.java MAnnotation.java MClass.java
MComment.java MElement.java MInvokable.java
MPackage.java
v2/jam/src/org/apache/xmlbeans/impl/jam/provider
JamServiceContext.java
v2/jam/src/org/apache/xmlbeans/impl/jam/visitor
CommentInitializer.java PropertyInitializer.java
Added: v2/jam/src/org/apache/xmlbeans/impl/jam/visitor
CompositeJVisitor.java CompositeMVisitor.java
JVisitor.java MVisitor.java TraversingJVisitor.java
TraversingMVisitor.java
Removed: v2/jam/src/org/apache/xmlbeans/impl/jam/visitor
CompositeJElementVisitor.java
CompositeMElementVisitor.java JElementVisitor.java
MElementVisitor.java
Log:
refactor visitor/traversal model
Revision Changes Path
1.8 +18 -7 xml-xmlbeans/v2/jam/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/build.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- build.xml 11 Mar 2004 21:26:41 -0000 1.7
+++ build.xml 11 Mar 2004 23:01:41 -0000 1.8
@@ -85,9 +85,7 @@
<jar jarfile='${javadoc_zip}' basedir='${javadocbuild_dir}'/>
<jar jarfile='${jamsrc_zip}' basedir='.'
excludes='build/**,src/**,test/**'/>
-<echo message='jarring ${src_dir}'/>
- <jar jarfile='${jamsrc_zip}' basedir='.' update='true'
- includes='${src_dir}/**/*'/>
+ <jar jarfile='${jamsrc_zip}' basedir='${src_dir}' update='true'/>
</target>
<target name='website' depends='all,javadocs,jars'>
@@ -101,14 +99,24 @@
</target>
- <target name='repackage'>
+ <target name='repackage' depends='clean,repackage_check,repackage_do'/>
+
+ <target name='repackage_check' unless='newpackage'>
+ <echo message='Please specify -Dnewpackage=[destination package]'/>
+ <echo message='on the ant command line.'/>
+ </target>
+
+
+ <target name='repackage_do' if='newpackage'>
+ <echo message='Building repackaged JAM under ${newpackage}...'/>
+ <echo message=''/>
<property name='repackage_spec'
- value='org.apache.xmlbeans.impl.jam:foo.bar.baz'/>
+ value='org.apache.xmlbeans.impl.jam:${newpackage}'/>
<property name='repackaged_src' value='build/repackaged_src'/>
-
- <delete dir='${repackaged_src}'/>
+
<mkdir dir='${repackaged_src}'/>
+ <mkdir dir='${classes_dir}'/>
<javac srcdir='${src_dir}' destdir='${classes_dir}'
includes='**/tools/*.java'/>
@@ -121,6 +129,9 @@
<arg line='-repackage ${repackage_spec} -f src -t ${repackaged_src}'/>
<!-- <arg line='-repackage ${repackage_spec} -f test -t ${repackaged_src}'/>-->
</java>
+
+ <delete dir='${classes_dir}'/> <!-- don't need repackager any more -->
+
<ant dir='.' target='website' inheritAll='false' >
<property name='src_dir' value='${repackaged_src}'/>
</ant>
1.6 +3 -28 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/JElement.java
Index: JElement.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/JElement.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- JElement.java 11 Mar 2004 21:26:41 -0000 1.5
+++ JElement.java 11 Mar 2004 23:01:41 -0000 1.6
@@ -15,7 +15,8 @@
package org.apache.xmlbeans.impl.jam;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.JVisitor;
/**
* <p>Interface implemented by JAM abstractions which can have
@@ -79,34 +80,8 @@
/**
* <p>Accepts the given visitor.</p>
*/
- public void accept(MElementVisitor visitor);
+ public void accept(JVisitor visitor);
- /**
- * <p>Calls accept() with the given visitor, and then recursively calls
- * acceptAndWalk for each of our component elements2, if any. Calling this
- * on
- * an MClass will cause the MClass to accept the visitor, and then
- * all of it's declared fields constructors, and methods. The parameter
- * for each constructor and method will also in turn be accepted.
- * Any annotations for each of these elements types will also be visited
- * after their other children have been visited. Note that inherited
- * members are never visited, nor are referenced classes (e.g. referenced
- * via inheritance or member types). </p>
- *
- * <table border='1'>
- * <tr><td><b>Element</b></td><td><b>Sub-elements traversal</b></td></tr>
- * <tr><td>Package </td><td>Classes, Annotations, Comments</td></tr>
- * <tr><td>Class </td><td>Fields, Constructors, Methods, Annotations, Comments</td></tr>
- * <tr><td>Field </td><td>Annotations, Comments</td></tr>
- * <tr><td>Constructor </td><td>Parameters, Annotations, Comments</td></tr>
- * <tr><td>Method </td><td>Parameters, Annotations, Comments</td></tr>
- * <tr><td>Parameter </td><td>[none]</td></tr>
- * <tr><td>Comment </td><td>[none]</td></tr>
- * </table>
- *
- * </p>
- */
- public void acceptAndWalk(MElementVisitor visitor);
/**
* <p>This is not something you want to mess with. It's here only for the
1.4 +1 -1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/JParameter.java
Index: JParameter.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/JParameter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JParameter.java 9 Mar 2004 10:38:51 -0000 1.3
+++ JParameter.java 11 Mar 2004 23:01:41 -0000 1.4
@@ -21,7 +21,7 @@
*
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
-public interface JParameter extends JElement {
+public interface JParameter extends JAnnotatedElement {
/**
* Returns the type of this parameter.
1.3 +4 -4 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/JamServiceParams.java
Index: JamServiceParams.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/JamServiceParams.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JamServiceParams.java 11 Mar 2004 21:26:41 -0000 1.2
+++ JamServiceParams.java 11 Mar 2004 23:01:41 -0000 1.3
@@ -15,7 +15,7 @@
package org.apache.xmlbeans.impl.jam;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
import java.io.File;
import java.io.PrintWriter;
@@ -293,13 +293,13 @@
//DOCME
- public void setCommentInitializer(MElementVisitor initializer);
+ public void setCommentInitializer(MVisitor initializer);
//DOCME
- public void setPropertyInitializer(MElementVisitor initializer);
+ public void setPropertyInitializer(MVisitor initializer);
//DOCME
- public void addInitializer(MElementVisitor initializer);
+ public void addInitializer(MVisitor initializer);
/**
1.5 +9 -7 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/JamClassLoaderImpl.java
Index: JamClassLoaderImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/JamClassLoaderImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JamClassLoaderImpl.java 11 Mar 2004 21:26:41 -0000 1.4
+++ JamClassLoaderImpl.java 11 Mar 2004 23:01:41 -0000 1.5
@@ -18,7 +18,8 @@
import org.apache.xmlbeans.impl.jam.JPackage;
import org.apache.xmlbeans.impl.jam.JamClassLoader;
import org.apache.xmlbeans.impl.jam.mutable.MClass;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.TraversingMVisitor;
import org.apache.xmlbeans.impl.jam.internal.elements.*;
import org.apache.xmlbeans.impl.jam.provider.JamClassBuilder;
@@ -36,7 +37,7 @@
private Map mName2Package = new HashMap();
private Map mFd2ClassCache = null;
private JamClassBuilder mBuilder;
- private MElementVisitor mInitializer = null;
+ private MVisitor mInitializer = null;
private ElementContext mContext;
private Stack mInitializeStack = new Stack(); //fixme - decide how to store them
private boolean mAlreadyInitializing = false;
@@ -46,11 +47,12 @@
public JamClassLoaderImpl(ElementContext context,
JamClassBuilder builder,
- MElementVisitor initializerOrNull) {
+ MVisitor initializerOrNull) {
if (builder == null) throw new IllegalArgumentException("null builder");
if (context == null) throw new IllegalArgumentException("null builder");
mBuilder = builder;
- mInitializer = initializerOrNull; //ok to be null
+ mInitializer = (initializerOrNull == null) ? null : // null is ok, else
+ new TraversingMVisitor(initializerOrNull); // wrap it in a walker
mContext = context;
initCache();
}
@@ -95,11 +97,11 @@
// we already are running initializers, so we have to do it later
mInitializeStack.push(out);
} else {
- out.acceptAndWalk(mInitializer);
+ out.accept(mInitializer);
((ClassImpl)out).setState(ClassImpl.LOADED);
while(!mInitializeStack.isEmpty()) {
- JClass initme = (JClass)mInitializeStack.pop();
- initme.acceptAndWalk(mInitializer);
+ ClassImpl initme = (ClassImpl)mInitializeStack.pop();
+ initme.accept(mInitializer);
((ClassImpl)out).setState(ClassImpl.LOADED);
}
mAlreadyInitializing = false;
1.5 +8 -8 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/JamServiceContextImpl.java
Index: JamServiceContextImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/JamServiceContextImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JamServiceContextImpl.java 11 Mar 2004 21:26:41 -0000 1.4
+++ JamServiceContextImpl.java 11 Mar 2004 23:01:41 -0000 1.5
@@ -63,8 +63,8 @@
private PrintWriter mOut = new PrintWriter(System.out);
private boolean mUseSystemClasspath = true;
private boolean mVerbose = false;
- private MElementVisitor mCommentInitializer = null;
- private MElementVisitor mPropertyInitializer = null;
+ private MVisitor mCommentInitializer = null;
+ private MVisitor mPropertyInitializer = null;
private List mOtherInitializers = null;
private JamClassLoader mLoader = null;
@@ -205,7 +205,7 @@
}
- public MElementVisitor getInitializer() {
+ public MVisitor getInitializer() {
List initers = new ArrayList();
initers.add((mCommentInitializer != null) ? mCommentInitializer :
new CommentInitializer());
@@ -216,9 +216,9 @@
if (mOtherInitializers != null) initers.addAll(mOtherInitializers);
// now go
- MElementVisitor[] inits = new MElementVisitor[initers.size()];
+ MVisitor[] inits = new MVisitor[initers.size()];
initers.toArray(inits);
- return new CompositeMElementVisitor(inits);
+ return new CompositeMVisitor(inits);
}
// ========================================================================
@@ -227,17 +227,17 @@
//DOCME
- public void setCommentInitializer(MElementVisitor initializer) {
+ public void setCommentInitializer(MVisitor initializer) {
mCommentInitializer = initializer;
}
//DOCME
- public void setPropertyInitializer(MElementVisitor initializer) {
+ public void setPropertyInitializer(MVisitor initializer) {
mPropertyInitializer = initializer;
}
//DOCME
- public void addInitializer(MElementVisitor initializer) {
+ public void addInitializer(MVisitor initializer) {
if (mOtherInitializers == null) mOtherInitializers = new ArrayList();
mOtherInitializers.add(initializer);
}
1.5 +18 -18 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/AnnotatedElementImpl.java
Index: AnnotatedElementImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/AnnotatedElementImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AnnotatedElementImpl.java 11 Mar 2004 21:26:41 -0000 1.4
+++ AnnotatedElementImpl.java 11 Mar 2004 23:01:41 -0000 1.5
@@ -3,7 +3,7 @@
import org.apache.xmlbeans.impl.jam.JAnnotation;
import org.apache.xmlbeans.impl.jam.JComment;
import org.apache.xmlbeans.impl.jam.JAnnotationValue;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
import org.apache.xmlbeans.impl.jam.annotation.AnnotationProxy;
import org.apache.xmlbeans.impl.jam.mutable.MAnnotatedElement;
import org.apache.xmlbeans.impl.jam.mutable.MAnnotation;
@@ -40,15 +40,15 @@
// JAnnotatedElement implementation
public JAnnotation[] getAnnotations() {
- return getEditableAnnotations();
+ return getMutableAnnotations();
}
public JAnnotation getAnnotation(Class proxyClass) {
- return getEditableAnnotation(proxyClass);
+ return getMutableAnnotation(proxyClass);
}
public JAnnotation getAnnotation(String named) {
- return getEditableAnnotation(named);
+ return getMutableAnnotation(named);
}
public JAnnotationValue getAnnotationValue(String valueName) {
@@ -66,14 +66,14 @@
return getEditableProxy(proxyClass);
}
- public JComment getComment() { return getEditableComment(); }
+ public JComment getComment() { return getMutableComment(); }
// ========================================================================
// MAnnotatedElement implementation
public AnnotationProxy getEditableProxy(Class proxyClass) {
if (mName2Annotation == null) return null;
- MAnnotation out = getEditableAnnotation(proxyClass.getName());
+ MAnnotation out = getMutableAnnotation(proxyClass.getName());
return (out == null) ? null : (AnnotationProxy)out.getProxy();
}
@@ -81,25 +81,25 @@
if (mName2Annotation != null) mName2Annotation.values().remove(ann);
}
- public MAnnotation[] getEditableAnnotations() {
+ public MAnnotation[] getMutableAnnotations() {
if (mName2Annotation == null) return new MAnnotation[0];
MAnnotation[] out = new MAnnotation[mName2Annotation.values().size()];
mName2Annotation.values().toArray(out);
return out;
}
- public MAnnotation getEditableAnnotation(String named) {
+ public MAnnotation getMutableAnnotation(String named) {
if (mName2Annotation == null) return null;
return (MAnnotation)mName2Annotation.get(named);
}
- public MAnnotation getEditableAnnotation(Class proxyClass) {
+ public MAnnotation getMutableAnnotation(Class proxyClass) {
if (mName2Annotation == null) return null;
return (MAnnotation)mName2Annotation.get(proxyClass.getName());
}
public MAnnotation addAnnotationForTag(String tagName) {
- MAnnotation out = getEditableAnnotation(tagName);
+ MAnnotation out = getMutableAnnotation(tagName);
if (out != null) {
//REVIEW this is a weird case. we'll just go with it for now.
} else {
@@ -112,11 +112,11 @@
}
public MAnnotation addAnnotationForTag(String tagName, String tagContents) {
- MAnnotation out = getEditableAnnotation(tagName);
+ MAnnotation out = getMutableAnnotation(tagName);
if (out != null) {
//REVIEW this is a weird case where they add the same thing twice.
// we'll just go with it for now.
- out.getEditableProxy().initFromJavadocTag(tagContents);
+ out.getMutableProxy().initFromJavadocTag(tagContents);
} else {
AnnotationProxy proxy = getContext().createProxyForTag(tagName);
proxy.initFromJavadocTag(tagContents);
@@ -132,7 +132,7 @@
throw new IllegalArgumentException("null instance");
}
String typename = getAnnotationTypeFor(jsr175annotationInstance);
- MAnnotation ann = getEditableAnnotation(typename);
+ MAnnotation ann = getMutableAnnotation(typename);
if (ann != null) {
//REVIEW this is an extremely weird case where they add another instance
// of the same annotation type. We'll just go with it for now,
@@ -150,7 +150,7 @@
public MAnnotation addAnnotationForType(String jsr175annotationClassname) {
ClassImpl.validateClassName(jsr175annotationClassname);
- MAnnotation ann = getEditableAnnotation(jsr175annotationClassname);
+ MAnnotation ann = getMutableAnnotation(jsr175annotationClassname);
if (ann != null) return ann; //REVIEW weird case again
AnnotationProxy proxy = getContext().
createProxyForAnnotationType(jsr175annotationClassname);
@@ -162,7 +162,7 @@
public MAnnotation addAnnotationForProxy(AnnotationProxy proxy) {
if (proxy == null) throw new IllegalArgumentException("null proxy");
String name = proxy.getClass().getName();
- MAnnotation ann = getEditableAnnotation(name);
+ MAnnotation ann = getMutableAnnotation(name);
if (ann != null) return ann; //REVIEW weird case yet again
ann = new AnnotationImpl(getContext(),proxy,name);
getName2Annotation().put(name,ann);
@@ -170,7 +170,7 @@
}
- public MComment getEditableComment() { return mComment; }
+ public MComment getMutableComment() { return mComment; }
public MComment createComment() { return mComment = new CommentImpl(this); }
@@ -179,8 +179,8 @@
// ========================================================================
// Protect methods
- protected void visitAnnotations(MElementVisitor visitor) {
- MAnnotation[] anns = getEditableAnnotations();
+ protected void visitAnnotations(MVisitor visitor) {
+ MAnnotation[] anns = getMutableAnnotations();
for(int i=0; i<anns.length; i++) visitor.visit(anns[i]);
if (mComment != null) visitor.visit(mComment);
}
1.5 +5 -8 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/AnnotationImpl.java
Index: AnnotationImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/AnnotationImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AnnotationImpl.java 11 Mar 2004 21:26:41 -0000 1.4
+++ AnnotationImpl.java 11 Mar 2004 23:01:41 -0000 1.5
@@ -14,7 +14,8 @@
*/
package org.apache.xmlbeans.impl.jam.internal.elements;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.JVisitor;
import org.apache.xmlbeans.impl.jam.annotation.AnnotationProxy;
import org.apache.xmlbeans.impl.jam.mutable.MAnnotation;
import org.apache.xmlbeans.impl.jam.JAnnotationValue;
@@ -64,18 +65,14 @@
return mProxy.getClass().getName(); //FIXME
}
- public void accept(MElementVisitor visitor) {
- visitor.visit(this);
- }
+ public void accept(MVisitor visitor) { visitor.visit(this); }
- public void acceptAndWalk(MElementVisitor visitor) {
- visitor.visit(this);
- }
+ public void accept(JVisitor visitor) { visitor.visit(this); }
// ========================================================================
// MElement implementation
- public AnnotationProxy getEditableProxy() {
+ public AnnotationProxy getMutableProxy() {
return mProxy;
}
1.5 +7 -11 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/BuiltinClassImpl.java
Index: BuiltinClassImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/BuiltinClassImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- BuiltinClassImpl.java 11 Mar 2004 21:26:41 -0000 1.4
+++ BuiltinClassImpl.java 11 Mar 2004 23:01:41 -0000 1.5
@@ -17,7 +17,8 @@
import org.apache.xmlbeans.impl.jam.*;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.JVisitor;
import org.apache.xmlbeans.impl.jam.mutable.*;
/**
@@ -46,14 +47,9 @@
// ========================================================================
// JElement implementation
- public void accept(MElementVisitor visitor) {
- visitor.visit(this);
- }
+ public void accept(MVisitor visitor) { visitor.visit(this); }
- public void acceptAndWalk(MElementVisitor visitor) {
- accept(visitor);
- visitAnnotations(visitor);
- }
+ public void accept(JVisitor visitor) { visitor.visit(this); }
public String getQualifiedName() { return mSimpleName; }
@@ -109,9 +105,9 @@
// ========================================================================
// MClass implementation
- public MField[] getEditableFields() { return NO_FIELD; }
- public MConstructor[] getEditableConstructors() { return NO_CONSTRUCTOR; }
- public MMethod[] getEditableMethods() { return NO_METHOD; }
+ public MField[] getMutableFields() { return NO_FIELD; }
+ public MConstructor[] getMutableConstructors() { return NO_CONSTRUCTOR; }
+ public MMethod[] getMutableMethods() { return NO_METHOD; }
public void setSimpleName(String s) { nocando(); }
1.6 +10 -17 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/ClassImpl.java
Index: ClassImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/ClassImpl.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ClassImpl.java 11 Mar 2004 21:26:41 -0000 1.5
+++ ClassImpl.java 11 Mar 2004 23:01:41 -0000 1.6
@@ -16,7 +16,8 @@
package org.apache.xmlbeans.impl.jam.internal.elements;
import org.apache.xmlbeans.impl.jam.*;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.JVisitor;
import org.apache.xmlbeans.impl.jam.mutable.*;
import org.apache.xmlbeans.impl.jam.internal.classrefs.JClassRef;
import org.apache.xmlbeans.impl.jam.internal.classrefs.JClassRefContext;
@@ -118,7 +119,7 @@
}
public JField[] getDeclaredFields() {
- return getEditableFields();
+ return getMutableFields();
}
public JMethod[] getMethods() {
@@ -136,9 +137,9 @@
return out;
}
- public JMethod[] getDeclaredMethods() { return getEditableMethods(); }
+ public JMethod[] getDeclaredMethods() { return getMutableMethods(); }
- public JConstructor[] getConstructors() { return getEditableConstructors(); }
+ public JConstructor[] getConstructors() { return getMutableConstructors(); }
public boolean isInterface() { return mIsInterface; }
@@ -177,17 +178,9 @@
return new JClass[0];//FIXME
}
- public void accept(MElementVisitor visitor) {
- visitor.visit(this);
- }
+ public void accept(MVisitor visitor) { visitor.visit(this); }
- public void acceptAndWalk(MElementVisitor visitor) {
- accept(visitor);
- acceptAndWalkAll(visitor,getEditableFields());
- acceptAndWalkAll(visitor,getEditableConstructors());
- acceptAndWalkAll(visitor,getEditableMethods());
- visitAnnotations(visitor);
- }
+ public void accept(JVisitor visitor) { visitor.visit(this); }
public void setSimpleName(String name) {
throw new UnsupportedOperationException("Class names cannot be changed");
@@ -269,7 +262,7 @@
mConstructors.remove(constr);
}
- public MConstructor[] getEditableConstructors() {
+ public MConstructor[] getMutableConstructors() {
if (mConstructors == null || mConstructors.size() == 0) {
return new MConstructor[0];
}
@@ -291,7 +284,7 @@
mFields.remove(field);
}
- public MField[] getEditableFields() {
+ public MField[] getMutableFields() {
if (mFields == null || mFields.size() == 0) {
return new MField[0];
}
@@ -312,7 +305,7 @@
mMethods.remove(method);
}
- public MMethod[] getEditableMethods() {
+ public MMethod[] getMutableMethods() {
if (mMethods == null || mMethods.size() == 0) {
return new MMethod[0];
}
1.4 +4 -3 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/CommentImpl.java
Index: CommentImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/CommentImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CommentImpl.java 11 Mar 2004 21:26:41 -0000 1.3
+++ CommentImpl.java 11 Mar 2004 23:01:41 -0000 1.4
@@ -14,7 +14,8 @@
*/
package org.apache.xmlbeans.impl.jam.internal.elements;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.JVisitor;
import org.apache.xmlbeans.impl.jam.mutable.MComment;
/**
@@ -44,9 +45,9 @@
// ========================================================================
// JElement implementation
- public void accept(MElementVisitor visitor) { visitor.visit(this); }
+ public void accept(MVisitor visitor) { visitor.visit(this); }
- public void acceptAndWalk(MElementVisitor visitor) { accept(visitor); }
+ public void accept(JVisitor visitor) { visitor.visit(this); }
public String getQualifiedName() {
return getParent().getQualifiedName()+".{comment}"; //REVIEW
1.5 +5 -4 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/ConstructorImpl.java
Index: ConstructorImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/ConstructorImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ConstructorImpl.java 11 Mar 2004 21:26:41 -0000 1.4
+++ ConstructorImpl.java 11 Mar 2004 23:01:41 -0000 1.5
@@ -15,7 +15,8 @@
package org.apache.xmlbeans.impl.jam.internal.elements;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.JVisitor;
import org.apache.xmlbeans.impl.jam.mutable.MConstructor;
/**
@@ -35,8 +36,8 @@
// ========================================================================
// JElement implementation
- public void accept(MElementVisitor visitor) {
- visitor.visit(this);
- }
+ public void accept(MVisitor visitor) { visitor.visit(this); }
+
+ public void accept(JVisitor visitor) { visitor.visit(this); }
}
1.5 +2 -13 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/ElementImpl.java
Index: ElementImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/ElementImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ElementImpl.java 11 Mar 2004 21:26:41 -0000 1.4
+++ ElementImpl.java 11 Mar 2004 23:01:41 -0000 1.5
@@ -16,7 +16,7 @@
package org.apache.xmlbeans.impl.jam.internal.elements;
import org.apache.xmlbeans.impl.jam.*;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
import org.apache.xmlbeans.impl.jam.mutable.MElement;
import org.apache.xmlbeans.impl.jam.mutable.MSourcePosition;
@@ -101,7 +101,7 @@
mPosition = null;
}
- public MSourcePosition getEditableSourcePosition() {
+ public MSourcePosition getMutableSourcePosition() {
return mPosition;
}
@@ -140,15 +140,4 @@
// Other public methods
public ElementContext getContext() { return mContext; }
-
- // ========================================================================
- // Protected methods
-
- /**
- * <p>Simple utility method used by subclasses to implement
- * acceptAndWalk.</p>
- */
- protected static void acceptAndWalkAll(MElementVisitor v, JElement[] sub) {
- for(int i=0; i<sub.length; i++) sub[i].acceptAndWalk(v);
- }
}
1.4 +4 -8 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/FieldImpl.java
Index: FieldImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/FieldImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FieldImpl.java 11 Mar 2004 21:26:41 -0000 1.3
+++ FieldImpl.java 11 Mar 2004 23:01:41 -0000 1.4
@@ -16,7 +16,8 @@
package org.apache.xmlbeans.impl.jam.internal.elements;
import org.apache.xmlbeans.impl.jam.JClass;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.JVisitor;
import org.apache.xmlbeans.impl.jam.mutable.MField;
import org.apache.xmlbeans.impl.jam.internal.classrefs.DirectJClassRef;
import org.apache.xmlbeans.impl.jam.internal.classrefs.JClassRef;
@@ -105,12 +106,7 @@
// ========================================================================
// JElement implementation
- public void accept(MElementVisitor visitor) {
- visitor.visit(this);
- }
+ public void accept(MVisitor visitor) { visitor.visit(this); }
- public void acceptAndWalk(MElementVisitor visitor) {
- accept(visitor);
- visitAnnotations(visitor);
- }
+ public void accept(JVisitor visitor) { visitor.visit(this); }
}
1.4 +3 -12 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/InvokableImpl.java
Index: InvokableImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/InvokableImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- InvokableImpl.java 11 Mar 2004 21:26:41 -0000 1.3
+++ InvokableImpl.java 11 Mar 2004 23:01:41 -0000 1.4
@@ -16,7 +16,7 @@
package org.apache.xmlbeans.impl.jam.internal.elements;
import org.apache.xmlbeans.impl.jam.JClass;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
import org.apache.xmlbeans.impl.jam.JParameter;
import org.apache.xmlbeans.impl.jam.mutable.MInvokable;
import org.apache.xmlbeans.impl.jam.mutable.MParameter;
@@ -98,7 +98,7 @@
if (mParameters != null) mParameters.remove(parameter);
}
- public MParameter[] getEditableParameters() {
+ public MParameter[] getMutableParameters() {
if (mParameters == null || mParameters.size() == 0) {
return new MParameter[0];
} else {
@@ -112,7 +112,7 @@
// JInvokable implementation
public JParameter[] getParameters() {
- return getEditableParameters();
+ return getMutableParameters();
}
public JClass[] getExceptionTypes() {
@@ -140,15 +140,6 @@
}
out.write(')');
return out.toString();
- }
-
- // ========================================================================
- // JElement implementation
-
- public void acceptAndWalk(MElementVisitor visitor) {
- accept(visitor);
- acceptAndWalkAll(visitor,getEditableParameters());
- visitAnnotations(visitor);
}
// ========================================================================
1.4 +6 -5 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/MethodImpl.java
Index: MethodImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/MethodImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- MethodImpl.java 11 Mar 2004 21:26:41 -0000 1.3
+++ MethodImpl.java 11 Mar 2004 23:01:41 -0000 1.4
@@ -16,7 +16,8 @@
package org.apache.xmlbeans.impl.jam.internal.elements;
import org.apache.xmlbeans.impl.jam.JClass;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.JVisitor;
import org.apache.xmlbeans.impl.jam.mutable.MMethod;
import org.apache.xmlbeans.impl.jam.internal.classrefs.DirectJClassRef;
import org.apache.xmlbeans.impl.jam.internal.classrefs.JClassRef;
@@ -97,10 +98,10 @@
}
// ========================================================================
- // JElement implementation
+ // Element implementation
- public void accept(MElementVisitor visitor) {
- visitor.visit(this);
- }
+ public void accept(MVisitor visitor) { visitor.visit(this); }
+
+ public void accept(JVisitor visitor) { visitor.visit(this); }
}
1.4 +14 -8 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/PackageImpl.java
Index: PackageImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/PackageImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PackageImpl.java 11 Mar 2004 21:26:41 -0000 1.3
+++ PackageImpl.java 11 Mar 2004 23:01:41 -0000 1.4
@@ -16,8 +16,10 @@
package org.apache.xmlbeans.impl.jam.internal.elements;
import org.apache.xmlbeans.impl.jam.JClass;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.JVisitor;
import org.apache.xmlbeans.impl.jam.mutable.MPackage;
+import org.apache.xmlbeans.impl.jam.mutable.MClass;
import java.util.ArrayList;
import java.util.List;
@@ -53,20 +55,24 @@
public String getQualifiedName() { return mName; }
- public void accept(MElementVisitor visitor) {
- visitor.visit(this);
- }
+ public void accept(MVisitor visitor) { visitor.visit(this); }
- public void acceptAndWalk(MElementVisitor visitor) {
- accept(visitor);
- acceptAndWalkAll(visitor,getClasses());
- }
+ public void accept(JVisitor visitor) { visitor.visit(this); }
// ========================================================================
// JPackage implementation
public JClass[] getClasses() {
JClass[] out = new JClass[mRootClasses.size()];
+ mRootClasses.toArray(out);
+ return out;
+ }
+
+ // ========================================================================
+ // MPackage implementation
+
+ public MClass[] getMutableClasses() {
+ MClass[] out = new MClass[mRootClasses.size()];
mRootClasses.toArray(out);
return out;
}
1.5 +5 -8 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/ParameterImpl.java
Index: ParameterImpl.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/elements/ParameterImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ParameterImpl.java 11 Mar 2004 21:26:41 -0000 1.4
+++ ParameterImpl.java 11 Mar 2004 23:01:41 -0000 1.5
@@ -16,7 +16,8 @@
package org.apache.xmlbeans.impl.jam.internal.elements;
import org.apache.xmlbeans.impl.jam.JClass;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.JVisitor;
import org.apache.xmlbeans.impl.jam.mutable.MParameter;
import org.apache.xmlbeans.impl.jam.internal.classrefs.DirectJClassRef;
import org.apache.xmlbeans.impl.jam.internal.classrefs.JClassRef;
@@ -84,12 +85,8 @@
// ========================================================================
// JElement implementation
- public void accept(MElementVisitor visitor) {
- visitor.visit(this);
- }
+ public void accept(MVisitor visitor) { visitor.visit(this); }
+
+ public void accept(JVisitor visitor) { visitor.visit(this); }
- public void acceptAndWalk(MElementVisitor visitor) {
- accept(visitor);
- visitAnnotations(visitor);
- }
}
1.5 +1 -1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/javadoc/JavadocClassBuilder.java
Index: JavadocClassBuilder.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/internal/javadoc/JavadocClassBuilder.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JavadocClassBuilder.java 10 Mar 2004 19:43:49 -0000 1.4
+++ JavadocClassBuilder.java 11 Mar 2004 23:01:42 -0000 1.5
@@ -229,7 +229,7 @@
MAnnotation ann =
dest.addAnnotationForType(callGetAnnotationType(descs[i]).qualifiedTypeName());
ann.setArtifact(descs[i]);
- AnnotationProxy proxy = ann.getEditableProxy();
+ AnnotationProxy proxy = ann.getMutableProxy();
Object[] mvps = callGetMemberValues(descs[i]);
for(int j=0; j<mvps.length; j++) {
String name = callGetMvpName(mvps[i]);
1.2 +5 -3 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MAnnotatedElement.java
Index: MAnnotatedElement.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MAnnotatedElement.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MAnnotatedElement.java 10 Mar 2004 19:43:49 -0000 1.1
+++ MAnnotatedElement.java 11 Mar 2004 23:01:42 -0000 1.2
@@ -40,15 +40,17 @@
public MAnnotation addAnnotationForProxy(AnnotationProxy proxy);
+ public MAnnotation[] getMutableAnnotations();
+
//DOCME
- public MAnnotation getEditableAnnotation(Class proxyClass);
+ public MAnnotation getMutableAnnotation(Class proxyClass);
//DOCME
- public MAnnotation getEditableAnnotation(String tagnameOr175typename);
+ public MAnnotation getMutableAnnotation(String tagnameOr175typename);
//DOCME
- public MComment getEditableComment();
+ public MComment getMutableComment();
//DOCME
public MComment createComment();
1.2 +1 -1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MAnnotation.java
Index: MAnnotation.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MAnnotation.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MAnnotation.java 10 Mar 2004 19:43:49 -0000 1.1
+++ MAnnotation.java 11 Mar 2004 23:01:42 -0000 1.2
@@ -25,6 +25,6 @@
*/
public interface MAnnotation extends JAnnotation, MElement {
- public AnnotationProxy getEditableProxy();
+ public AnnotationProxy getMutableProxy();
}
1.2 +3 -3 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MClass.java
Index: MClass.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MClass.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MClass.java 10 Mar 2004 19:43:49 -0000 1.1
+++ MClass.java 11 Mar 2004 23:01:42 -0000 1.2
@@ -116,7 +116,7 @@
* constructors from any base class or interface. This is simply a more
* strongly-typed version of getDeclaredConstructors().
*/
- public MConstructor[] getEditableConstructors();
+ public MConstructor[] getMutableConstructors();
/**
* Creates a new field, adds it to this class, and returns it.
@@ -135,7 +135,7 @@
* fields from any base class or interface. This is simply a more
* strongly-typed version of getDeclaredFields().
*/
- public MField[] getEditableFields();
+ public MField[] getMutableFields();
/**
* Creates a new method, adds it to this class, and returns it.
@@ -153,7 +153,7 @@
* include methods inherited from any base class or interface. This is
* simply a more strongly-typed version of getDeclaredMethods().
*/
- public MMethod[] getEditableMethods();
+ public MMethod[] getMutableMethods();
public JProperty addNewProperty(String name, MMethod getter, MMethod setter);
1.2 +1 -1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MComment.java
Index: MComment.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MComment.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MComment.java 10 Mar 2004 19:43:49 -0000 1.1
+++ MComment.java 11 Mar 2004 23:01:42 -0000 1.2
@@ -21,7 +21,7 @@
*
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
-public interface MComment extends JComment {
+public interface MComment extends MElement, JComment {
/**
* Sets the text of this comment.
1.2 +5 -1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MElement.java
Index: MElement.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MElement.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MElement.java 10 Mar 2004 19:43:49 -0000 1.1
+++ MElement.java 11 Mar 2004 23:01:42 -0000 1.2
@@ -16,6 +16,7 @@
package org.apache.xmlbeans.impl.jam.mutable;
import org.apache.xmlbeans.impl.jam.JElement;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
/**
* <p>Mutable version of JElement.</p>
@@ -34,7 +35,10 @@
public void removeSourcePosition();
//DOCME
- public MSourcePosition getEditableSourcePosition();
+ public MSourcePosition getMutableSourcePosition();
+
+ //DOCME
+ public void accept(MVisitor visitor);
//DOCME
public void setArtifact(Object o);
1.2 +1 -1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MInvokable.java
Index: MInvokable.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MInvokable.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MInvokable.java 10 Mar 2004 19:43:49 -0000 1.1
+++ MInvokable.java 11 Mar 2004 23:01:42 -0000 1.2
@@ -116,5 +116,5 @@
* are none. This is simply a more strongly-typed version of
* getParameters().
*/
- public MParameter[] getEditableParameters();
+ public MParameter[] getMutableParameters();
}
1.2 +2 -0 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MPackage.java
Index: MPackage.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/mutable/MPackage.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MPackage.java 10 Mar 2004 19:43:49 -0000 1.1
+++ MPackage.java 11 Mar 2004 23:01:42 -0000 1.2
@@ -22,4 +22,6 @@
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
public interface MPackage extends JPackage, MAnnotatedElement {
+
+ public MClass[] getMutableClasses();
}
1.5 +2 -2 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/provider/JamServiceContext.java
Index: JamServiceContext.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/provider/JamServiceContext.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JamServiceContext.java 11 Mar 2004 21:26:41 -0000 1.4
+++ JamServiceContext.java 11 Mar 2004 23:01:42 -0000 1.5
@@ -56,7 +56,7 @@
package org.apache.xmlbeans.impl.jam.provider;
import org.apache.xmlbeans.impl.jam.JamClassLoader;
-import org.apache.xmlbeans.impl.jam.visitor.MElementVisitor;
+import org.apache.xmlbeans.impl.jam.visitor.MVisitor;
import java.io.File;
import java.io.IOException;
@@ -107,7 +107,7 @@
public JamClassLoader getParentClassLoader();
- public MElementVisitor getInitializer();
+ public MVisitor getInitializer();
public boolean isUseSystemClasspath();
1.5 +4 -4 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor/CommentInitializer.java
Index: CommentInitializer.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor/CommentInitializer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CommentInitializer.java 11 Mar 2004 21:26:41 -0000 1.4
+++ CommentInitializer.java 11 Mar 2004 23:01:42 -0000 1.5
@@ -44,7 +44,7 @@
*
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
-public class CommentInitializer extends MElementVisitor {
+public class CommentInitializer extends MVisitor {
// ========================================================================
// Constructors - but maybe it should be a singleton?
@@ -74,7 +74,7 @@
}
// ========================================================================
- // MElementVisitor implementation - nothing to see here
+ // MVisitor implementation - nothing to see here
public void visit(MClass clazz) { visit((MAnnotatedElement)clazz); }
public void visit(MConstructor ctor) { visit((MAnnotatedElement)ctor); }
@@ -89,7 +89,7 @@
// Protected methods
protected void visit(MAnnotatedElement element) {
- MComment comment = element.getEditableComment();
+ MComment comment = element.getMutableComment();
if (comment != null) {
String[] commentsAndTags = getCommentsAndTags(comment);
if (commentsAndTags == null || commentsAndTags.length == 0) return;
@@ -135,7 +135,7 @@
protected void processComment(MAnnotatedElement commentedElement,
String trimmedComment) {
- commentedElement.getEditableComment().setText(trimmedComment);
+ commentedElement.getMutableComment().setText(trimmedComment);
}
1.5 +2 -2 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor/PropertyInitializer.java
Index: PropertyInitializer.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor/PropertyInitializer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- PropertyInitializer.java 11 Mar 2004 21:26:41 -0000 1.4
+++ PropertyInitializer.java 11 Mar 2004 23:01:42 -0000 1.5
@@ -26,14 +26,14 @@
/**
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
-public class PropertyInitializer extends MElementVisitor {
+public class PropertyInitializer extends MVisitor {
// ========================================================================
// Element visitor implementation
public void visit(MClass clazz) {
Map name2prop = new HashMap();
- MMethod[] methods = clazz.getEditableMethods();
+ MMethod[] methods = clazz.getMutableMethods();
for(int i=0; i<methods.length; i++) {
String name = methods[i].getSimpleName();
1.1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor/CompositeJVisitor.java
Index: CompositeJVisitor.java
===================================================================
/* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.xmlbeans.impl.jam.visitor;
import org.apache.xmlbeans.impl.jam.JAnnotation;
import org.apache.xmlbeans.impl.jam.JClass;
import org.apache.xmlbeans.impl.jam.JComment;
import org.apache.xmlbeans.impl.jam.JConstructor;
import org.apache.xmlbeans.impl.jam.JField;
import org.apache.xmlbeans.impl.jam.JMethod;
import org.apache.xmlbeans.impl.jam.JPackage;
import org.apache.xmlbeans.impl.jam.JParameter;
/**
* <p>Composite implementation of JVisitor.</p>
*
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
public class CompositeJVisitor extends JVisitor {
// ========================================================================
// Variables
private JVisitor[] mVisitors;
// ========================================================================
// Constructors
public CompositeJVisitor(JVisitor[] visitors) {
if (visitors == null) throw new IllegalArgumentException("null visitors");
mVisitors = visitors;
}
// ========================================================================
// JVisitor implementation
public void visit(JPackage pkg) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(pkg);
}
public void visit(JClass clazz) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(clazz);
}
public void visit(JConstructor ctor) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(ctor);
}
public void visit(JField field) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(field);
}
public void visit(JMethod method) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(method);
}
public void visit(JParameter param) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(param);
}
public void visit(JAnnotation ann) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(ann);
}
public void visit(JComment comment) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(comment);
}
}
1.1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor/CompositeMVisitor.java
Index: CompositeMVisitor.java
===================================================================
/* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.xmlbeans.impl.jam.visitor;
import org.apache.xmlbeans.impl.jam.mutable.MAnnotation;
import org.apache.xmlbeans.impl.jam.mutable.MClass;
import org.apache.xmlbeans.impl.jam.mutable.MComment;
import org.apache.xmlbeans.impl.jam.mutable.MConstructor;
import org.apache.xmlbeans.impl.jam.mutable.MField;
import org.apache.xmlbeans.impl.jam.mutable.MMethod;
import org.apache.xmlbeans.impl.jam.mutable.MPackage;
import org.apache.xmlbeans.impl.jam.mutable.MParameter;
/**
* <p>Composite implementation of MVisitor.</p>
*
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
public class CompositeMVisitor extends MVisitor {
// ========================================================================
// Variables
private MVisitor[] mVisitors;
// ========================================================================
// Constructors
public CompositeMVisitor(MVisitor[] visitors) {
if (visitors == null) throw new IllegalArgumentException("null visitors");
mVisitors = visitors;
}
// ========================================================================
// MVisitor implementation
public void visit(MPackage pkg) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(pkg);
}
public void visit(MClass clazz) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(clazz);
}
public void visit(MConstructor ctor) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(ctor);
}
public void visit(MField field) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(field);
}
public void visit(MMethod method) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(method);
}
public void visit(MParameter param) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(param);
}
public void visit(MAnnotation ann) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(ann);
}
public void visit(MComment comment) {
for(int i=0; i<mVisitors.length; i++) mVisitors[i].visit(comment);
}
}
1.1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor/JVisitor.java
Index: JVisitor.java
===================================================================
/* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.xmlbeans.impl.jam.visitor;
import org.apache.xmlbeans.impl.jam.JAnnotation;
import org.apache.xmlbeans.impl.jam.JClass;
import org.apache.xmlbeans.impl.jam.JComment;
import org.apache.xmlbeans.impl.jam.JConstructor;
import org.apache.xmlbeans.impl.jam.JField;
import org.apache.xmlbeans.impl.jam.JMethod;
import org.apache.xmlbeans.impl.jam.JPackage;
import org.apache.xmlbeans.impl.jam.JParameter;
/**
* <p>To be extended by classes which wish to traverse an MElement tree.</p>
*
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
public abstract class JVisitor {
public void visit(JPackage pkg) {}
public void visit(JClass clazz) {}
public void visit(JConstructor ctor) {}
public void visit(JField field) {}
public void visit(JMethod method) {}
public void visit(JParameter param) {}
public void visit(JAnnotation ann) {}
public void visit(JComment comment) {}
}
1.1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor/MVisitor.java
Index: MVisitor.java
===================================================================
/* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.xmlbeans.impl.jam.visitor;
import org.apache.xmlbeans.impl.jam.mutable.MAnnotation;
import org.apache.xmlbeans.impl.jam.mutable.MClass;
import org.apache.xmlbeans.impl.jam.mutable.MComment;
import org.apache.xmlbeans.impl.jam.mutable.MConstructor;
import org.apache.xmlbeans.impl.jam.mutable.MField;
import org.apache.xmlbeans.impl.jam.mutable.MMethod;
import org.apache.xmlbeans.impl.jam.mutable.MPackage;
import org.apache.xmlbeans.impl.jam.mutable.MParameter;
/**
* <p>To be extended by classes which wish to traverse an MElement tree.</p>
*
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
public abstract class MVisitor {
public void visit(MPackage pkg) {}
public void visit(MClass clazz) {}
public void visit(MConstructor ctor) {}
public void visit(MField field) {}
public void visit(MMethod method) {}
public void visit(MParameter param) {}
public void visit(MAnnotation ann) {}
public void visit(MComment comment) {}
}
1.1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor/TraversingJVisitor.java
Index: TraversingJVisitor.java
===================================================================
/* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.xmlbeans.impl.jam.visitor;
import org.apache.xmlbeans.impl.jam.JPackage;
import org.apache.xmlbeans.impl.jam.JClass;
import org.apache.xmlbeans.impl.jam.JConstructor;
import org.apache.xmlbeans.impl.jam.JField;
import org.apache.xmlbeans.impl.jam.JMethod;
import org.apache.xmlbeans.impl.jam.JParameter;
import org.apache.xmlbeans.impl.jam.JAnnotation;
import org.apache.xmlbeans.impl.jam.JComment;
import org.apache.xmlbeans.impl.jam.JAnnotatedElement;
import org.apache.xmlbeans.impl.jam.JInvokable;
/**
* <p>Calls accept() with the given visitor, and then recursively calls
* acceptAndWalk for each of our component elements2, if any. Calling this
* on an MClass will cause the MClass to accept the visitor, and then
* all of it's declared fields constructors, and methods. The parameter
* for each constructor and method will also in turn be accepted.
* Any annotations for each of these elements types will also be visited
* after their other children have been visited. Note that inherited
* members are never visited, nor are referenced classes (e.g. referenced
* via inheritance or member types). </p>
*
* <table border='1'>
* <tr><td><b>Element</b></td><td><b>Sub-elements traversal</b></td></tr>
* <tr><td>Package </td><td>Classes, Annotations, Comments</td></tr>
* <tr><td>Class </td><td>Fields, Constructors, Methods, Annotations, Comments</td></tr>
* <tr><td>Field </td><td>Annotations, Comments</td></tr>
* <tr><td>Constructor </td><td>Parameters, Annotations, Comments</td></tr>
* <tr><td>Method </td><td>Parameters, Annotations, Comments</td></tr>
* <tr><td>Parameter </td><td>Annotations, Comments</td></tr>
* <tr><td>Annotation </td><td>[none]</td></tr>
* <tr><td>Comment </td><td>[none]</td></tr>
* </table>
*
* </p>
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
public class TraversingJVisitor extends JVisitor {
// ========================================================================
// Variables
private JVisitor mDelegate;
// ========================================================================
// Constructors
public TraversingJVisitor(JVisitor jv) {
if (jv == null) throw new IllegalArgumentException("null jv");
mDelegate = jv;
}
// ========================================================================
// JVisitor implementation
public void visit(JPackage pkg) {
pkg.accept(mDelegate);
JClass[] c = pkg.getClasses();
for(int i=0; i<c.length; i++) visit(c[i]);
visitAnnotations(pkg);
visitComment(pkg);
}
public void visit(JClass clazz) {
clazz.accept(mDelegate);
{
JField[] f = clazz.getDeclaredFields();
for(int i=0; i<f.length; i++) visit(f[i]);
}{
JConstructor[] c = clazz.getConstructors();
for(int i=0; i<c.length; i++) visit(c[i]);
}{
JMethod[] m = clazz.getMethods();
for(int i=0; i<m.length; i++) visit(m[i]);
}
visitAnnotations(clazz);
visitComment(clazz);
}
// ========================================================================
// JElement implementation
public void visit(JField field) {
field.accept(mDelegate);
visitAnnotations(field);
visitComment(field);
}
public void visit(JConstructor ctor) {
ctor.accept(mDelegate);
visitParameters(ctor);
visitAnnotations(ctor);
visitComment(ctor);
}
public void visit(JMethod method) {
method.accept(mDelegate);
visitParameters(method);
visitAnnotations(method);
visitComment(method);
}
public void visit(JParameter param) {
param.accept(mDelegate);
visitAnnotations(param);
visitComment(param);
}
public void visit(JAnnotation ann) { ann.accept(mDelegate); }
public void visit(JComment comment) { comment.accept(mDelegate); }
// ========================================================================
// Private methods
private void visitParameters(JInvokable iv) {
JParameter[] p = iv.getParameters();
for(int i=0; i<p.length; i++) visit(p[i]);
}
private void visitAnnotations(JAnnotatedElement ae) {
JAnnotation[] anns = ae.getAnnotations();
for(int i=0; i<anns.length; i++) visit(anns[i]);
}
private void visitComment(JAnnotatedElement e) {
JComment c = e.getComment();
if (c != null) visit(c);
}
}
1.1 xml-xmlbeans/v2/jam/src/org/apache/xmlbeans/impl/jam/visitor/TraversingMVisitor.java
Index: TraversingMVisitor.java
===================================================================
/* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.xmlbeans.impl.jam.visitor;
import org.apache.xmlbeans.impl.jam.mutable.MComment;
import org.apache.xmlbeans.impl.jam.mutable.MAnnotatedElement;
import org.apache.xmlbeans.impl.jam.mutable.MAnnotation;
import org.apache.xmlbeans.impl.jam.mutable.MParameter;
import org.apache.xmlbeans.impl.jam.mutable.MInvokable;
import org.apache.xmlbeans.impl.jam.mutable.MMethod;
import org.apache.xmlbeans.impl.jam.mutable.MConstructor;
import org.apache.xmlbeans.impl.jam.mutable.MField;
import org.apache.xmlbeans.impl.jam.mutable.MClass;
import org.apache.xmlbeans.impl.jam.mutable.MPackage;
/**
* <p>Calls accept() with the given visitor, and then recursively calls
* acceptAndWalk for each of our component elements2, if any. Calling this
* on an MClass will cause the MClass to accept the visitor, and then
* all of it's declared fields constructors, and methods. The parameter
* for each constructor and method will also in turn be accepted.
* Any annotations for each of these elements types will also be visited
* after their other children have been visited. Note that inherited
* members are never visited, nor are referenced classes (e.g. referenced
* via inheritance or member types). </p>
*
* <table border='1'>
* <tr><td><b>Element</b></td><td><b>Sub-elements traversal</b></td></tr>
* <tr><td>Package </td><td>Classes, Annotations, Comments</td></tr>
* <tr><td>Class </td><td>Fields, Constructors, Methods, Annotations, Comments</td></tr>
* <tr><td>Field </td><td>Annotations, Comments</td></tr>
* <tr><td>Constructor </td><td>Parameters, Annotations, Comments</td></tr>
* <tr><td>Method </td><td>Parameters, Annotations, Comments</td></tr>
* <tr><td>Parameter </td><td>Annotations, Comments</td></tr>
* <tr><td>Annotation </td><td>[none]</td></tr>
* <tr><td>Comment </td><td>[none]</td></tr>
* </table>
*
* </p>
* @author Patrick Calahan <email: pcal-at-bea-dot-com>
*/
public class TraversingMVisitor extends MVisitor {
// ========================================================================
// Variables
private MVisitor mDelegate;
// ========================================================================
// Constructors
public TraversingMVisitor(MVisitor jv) {
if (jv == null) throw new IllegalArgumentException("null jv");
mDelegate = jv;
}
// ========================================================================
// JVisitor implementation
public void visit(MPackage pkg) {
pkg.accept(mDelegate);
MClass[] c = pkg.getMutableClasses();
for(int i=0; i<c.length; i++) visit(c[i]);
visitAnnotations(pkg);
visitComment(pkg);
}
public void visit(MClass clazz) {
clazz.accept(mDelegate);
{
MField[] f = clazz.getMutableFields();
for(int i=0; i<f.length; i++) visit(f[i]);
}{
MConstructor[] c = clazz.getMutableConstructors();
for(int i=0; i<c.length; i++) visit(c[i]);
}{
MMethod[] m = clazz.getMutableMethods();
for(int i=0; i<m.length; i++) visit(m[i]);
}
visitAnnotations(clazz);
visitComment(clazz);
}
// ========================================================================
// MElement implementation
public void visit(MField field) {
field.accept(mDelegate);
visitAnnotations(field);
visitComment(field);
}
public void visit(MConstructor ctor) {
ctor.accept(mDelegate);
visitParameters(ctor);
visitAnnotations(ctor);
visitComment(ctor);
}
public void visit(MMethod method) {
method.accept(mDelegate);
visitParameters(method);
visitAnnotations(method);
visitComment(method);
}
public void visit(MParameter param) {
param.accept(mDelegate);
visitAnnotations(param);
visitComment(param);
}
public void visit(MAnnotation ann) { ann.accept(mDelegate); }
public void visit(MComment comment) { comment.accept(mDelegate); }
// ========================================================================
// Private methods
private void visitParameters(MInvokable iv) {
MParameter[] p = iv.getMutableParameters();
for(int i=0; i<p.length; i++) visit(p[i]);
}
private void visitAnnotations(MAnnotatedElement ae) {
MAnnotation[] anns = ae.getMutableAnnotations();
for(int i=0; i<anns.length; i++) visit(anns[i]);
}
private void visitComment(MAnnotatedElement e) {
MComment c = e.getMutableComment();
if (c != null) visit(c);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: xmlbeans-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xmlbeans-cvs-help@xml.apache.org