- Revision
- 757
- Author
- rfscholte
- Date
- 2010-09-29 17:09:57 -0500 (Wed, 29 Sep 2010)
Log Message
Add addDefaultClassLoaders to LibraryBuilder
Modified Paths
- trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java
- trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java
- trunk/qdox/src/java/com/thoughtworks/qdox/library/SortedClassLibraryBuilder.java
- trunk/qdox/src/test/com/thoughtworks/qdox/library/ClassLibraryBuilderTest.java
Diff
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java (756 => 757)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java 2010-09-29 21:26:24 UTC (rev 756) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java 2010-09-29 22:09:57 UTC (rev 757) @@ -13,6 +13,8 @@ public ClassLibraryBuilder appendClassLoader( ClassLoader classLoader ); + public ClassLibraryBuilder appendDefaultClassLoaders(); + public ClassLibraryBuilder appendSourceFolder( File sourceFolder ); public ClassLibraryBuilder appendSource( InputStream stream ); @@ -30,7 +32,7 @@ public JavaClass addSource( URL url ) throws IOException; public JavaClass addSource( File file ) throws IOException; - + public ClassLibraryBuilder setDebugLexer( boolean debugLexer ); public ClassLibraryBuilder setDebugParser( boolean debugParser );
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java (756 => 757)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java 2010-09-29 21:26:24 UTC (rev 756) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java 2010-09-29 22:09:57 UTC (rev 757) @@ -3,7 +3,6 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.io.Reader; import java.net.URL; @@ -29,6 +28,8 @@ private String encoding; + private boolean appendDefaultClassLoaders; + public OrderedClassLibraryBuilder() { modelBuilderFactory = new ModelBuilderFactory() @@ -48,8 +49,10 @@ } - /* (non-Javadoc) - * @see com.thoughtworks.qdox.library.ClassLibraryBuilder#addClassLoader(java.lang.ClassLoader) + /** + * If the appendDefaultClassLoaders has been set and hans't been used, add those + * classloaders and reset the value to false. + * Next add the classloader */ public ClassLibraryBuilder appendClassLoader( ClassLoader classLoader ) { @@ -57,10 +60,33 @@ { classLibrary = new ClassLoaderLibrary( classLibrary ); } - ( (ClassLoaderLibrary) classLibrary ).addClassLoader( classLoader ); + ClassLoaderLibrary classLoaderLibrary = (ClassLoaderLibrary) classLibrary; + if ( appendDefaultClassLoaders ) { + classLoaderLibrary.addDefaultLoader(); + appendDefaultClassLoaders = false; + } + classLoaderLibrary.addClassLoader( classLoader ); return this; } + /** + * This method can be called both before or after appendClassLoader. + * If the current classLibrary is a ClassLoaderLibrary, add it immediately + * Otherwise keep this setting only for the first next ClassLoaderLibrary + */ + public ClassLibraryBuilder appendDefaultClassLoaders() + { + if ( classLibrary instanceof ClassLoaderLibrary ) + { + ClassLoaderLibrary classLoaderLibrary = (ClassLoaderLibrary) classLibrary; + classLoaderLibrary.addDefaultLoader(); + } + else { + this.appendDefaultClassLoaders = true; + } + return this; + } + /* (non-Javadoc) * @see com.thoughtworks.qdox.library.ClassLibraryBuilder#addSourceFolder(java.io.File) */
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/library/SortedClassLibraryBuilder.java (756 => 757)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/SortedClassLibraryBuilder.java 2010-09-29 21:26:24 UTC (rev 756) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/SortedClassLibraryBuilder.java 2010-09-29 22:09:57 UTC (rev 757) @@ -53,6 +53,12 @@ classLoaderLibrary.addClassLoader( classLoader ); return this; } + + public ClassLibraryBuilder appendDefaultClassLoaders() + { + classLoaderLibrary.addDefaultLoader(); + return this; + } public ClassLibraryBuilder appendSourceFolder( File sourceFolder ) {
Modified: trunk/qdox/src/test/com/thoughtworks/qdox/library/ClassLibraryBuilderTest.java (756 => 757)
--- trunk/qdox/src/test/com/thoughtworks/qdox/library/ClassLibraryBuilderTest.java 2010-09-29 21:26:24 UTC (rev 756) +++ trunk/qdox/src/test/com/thoughtworks/qdox/library/ClassLibraryBuilderTest.java 2010-09-29 22:09:57 UTC (rev 757) @@ -18,6 +18,13 @@ assertSame( libraryBuilder, result ); } + public final void testAppendDefaultClassLoaders() throws Exception + { + ClassLibraryBuilder libraryBuilder = getClassLibraryBuilder(); + ClassLibraryBuilder result = libraryBuilder.appendDefaultClassLoaders(); + assertSame( libraryBuilder, result ); + } + public final void testAppendSourceFolder() throws Exception { ClassLibraryBuilder libraryBuilder = getClassLibraryBuilder();
To unsubscribe from this list please visit:
