- Revision
- 753
- Author
- rfscholte
- Date
- 2010-09-28 15:49:45 -0500 (Tue, 28 Sep 2010)
Log Message
Added interface for LibraryBuilder Using 'append' to return Builder, using 'add' to return JavaClass Added URL support
Modified Paths
- trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java
- trunk/qdox/src/java/com/thoughtworks/qdox/library/SortedClassLibraryBuilder.java
- trunk/qdox/src/java/com/thoughtworks/qdox/library/SourceLibrary.java
Added Paths
Diff
Added: trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java (0 => 753)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java (rev 0) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java 2010-09-28 20:49:45 UTC (rev 753) @@ -0,0 +1,36 @@ +package com.thoughtworks.qdox.library; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.Reader; +import java.net.URL; + +import com.thoughtworks.qdox.model.JavaClass; + +public interface ClassLibraryBuilder +{ + + public ClassLibraryBuilder appendClassLoader( ClassLoader classLoader ); + + public ClassLibraryBuilder appendSourceFolder( File sourceFolder ); + + public ClassLibraryBuilder appendSource( InputStream stream ); + + public ClassLibraryBuilder appendSource( Reader reader ); + + public ClassLibraryBuilder appendSource( URL reader, String encoding ) throws IOException; + + public JavaClass addSource( InputStream stream ); + + public JavaClass addSource( Reader reader ); + + public JavaClass addSource( URL reader, String encoding ) throws IOException; + + public ClassLibraryBuilder setDebugLexer( boolean debugLexer ); + + public ClassLibraryBuilder setDebugParser( boolean debugParser ); + + public ClassLibrary getClassLibrary(); + +} \ No newline at end of file Property changes on: trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java (752 => 753)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java 2010-09-27 20:33:31 UTC (rev 752) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java 2010-09-28 20:49:45 UTC (rev 753) @@ -1,15 +1,20 @@ package com.thoughtworks.qdox.library; import java.io.File; +import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.Reader; +import java.net.URL; +import com.thoughtworks.qdox.model.JavaClass; + /** * This library resolves JavaClasses in the order in which class sources are added. * * @author Robert Scholte */ -public class OrderedClassLibraryBuilder +public class OrderedClassLibraryBuilder implements ClassLibraryBuilder { private ClassLibrary classLibrary; @@ -23,7 +28,10 @@ classLibrary = new ClassNameLibrary(); } - public OrderedClassLibraryBuilder addClassLoader( ClassLoader classLoader ) + /* (non-Javadoc) + * @see com.thoughtworks.qdox.library.ClassLibraryBuilder#addClassLoader(java.lang.ClassLoader) + */ + public ClassLibraryBuilder appendClassLoader( ClassLoader classLoader ) { if ( !( classLibrary instanceof ClassLoaderLibrary ) ) { @@ -33,54 +41,112 @@ return this; } - public OrderedClassLibraryBuilder addSourceFolder( File sourceFolder ) + /* (non-Javadoc) + * @see com.thoughtworks.qdox.library.ClassLibraryBuilder#addSourceFolder(java.io.File) + */ + public ClassLibraryBuilder appendSourceFolder( File sourceFolder ) { if ( !( classLibrary instanceof SourceFolderLibrary ) ) { classLibrary = new SourceFolderLibrary( classLibrary ); } - ( (SourceFolderLibrary) classLibrary ).addSourceFolder( sourceFolder ); + SourceFolderLibrary sourceFolderLibrary = (SourceFolderLibrary) classLibrary; + sourceFolderLibrary.setDebugLexer( debugLexer ); + sourceFolderLibrary.setDebugParser( debugParser ); + sourceFolderLibrary.addSourceFolder( sourceFolder ); return this; } - public OrderedClassLibraryBuilder addSource( InputStream stream ) + /* (non-Javadoc) + * @see com.thoughtworks.qdox.library.ClassLibraryBuilder#addSource(java.io.InputStream) + */ + public ClassLibraryBuilder appendSource( InputStream stream ) { if ( !( classLibrary instanceof SourceLibrary ) ) { classLibrary = new SourceLibrary( classLibrary ); } SourceLibrary sourceLibrary = (SourceLibrary) classLibrary; - sourceLibrary.addSource( stream ); sourceLibrary.setDebugLexer( debugLexer ); sourceLibrary.setDebugParser( debugParser ); + sourceLibrary.addSource( stream ); return this; } - public OrderedClassLibraryBuilder addSource( Reader reader ) + /* (non-Javadoc) + * @see com.thoughtworks.qdox.library.ClassLibraryBuilder#addSource(java.io.Reader) + */ + public ClassLibraryBuilder appendSource( Reader reader ) { if ( !( classLibrary instanceof SourceLibrary ) ) { classLibrary = new SourceLibrary( classLibrary ); } - ( (SourceLibrary) classLibrary ).addSource( reader ); + SourceLibrary sourceLibrary = (SourceLibrary) classLibrary; + sourceLibrary.setDebugLexer( debugLexer ); + sourceLibrary.setDebugParser( debugParser ); + sourceLibrary.addSource( reader ); return this; } - public OrderedClassLibraryBuilder setDebugLexer( boolean debugLexer ) + /* (non-Javadoc) + * @see com.thoughtworks.qdox.library.ClassLibraryBuilder#setDebugLexer(boolean) + */ + public ClassLibraryBuilder setDebugLexer( boolean debugLexer ) { this.debugLexer = debugLexer; return this; } - public OrderedClassLibraryBuilder setDebugParser( boolean debugParser ) + /* (non-Javadoc) + * @see com.thoughtworks.qdox.library.ClassLibraryBuilder#setDebugParser(boolean) + */ + public ClassLibraryBuilder setDebugParser( boolean debugParser ) { this.debugParser = debugParser; return this; } + /* (non-Javadoc) + * @see com.thoughtworks.qdox.library.ClassLibraryBuilder#getClassLibrary() + */ public ClassLibrary getClassLibrary() { return classLibrary; } + public ClassLibraryBuilder appendSource( URL url, String encoding ) throws IOException + { + return appendSource(new InputStreamReader(url.openStream(), encoding)); + } + + public JavaClass addSource( InputStream stream ) + { + if ( !( classLibrary instanceof SourceLibrary ) ) + { + classLibrary = new SourceLibrary( classLibrary ); + } + SourceLibrary sourceLibrary = (SourceLibrary) classLibrary; + sourceLibrary.setDebugLexer( debugLexer ); + sourceLibrary.setDebugParser( debugParser ); + return sourceLibrary.addSource( stream ); + } + + public JavaClass addSource( Reader reader ) + { + if ( !( classLibrary instanceof SourceLibrary ) ) + { + classLibrary = new SourceLibrary( classLibrary ); + } + SourceLibrary sourceLibrary = (SourceLibrary) classLibrary; + sourceLibrary.setDebugLexer( debugLexer ); + sourceLibrary.setDebugParser( debugParser ); + return sourceLibrary.addSource( reader ); + } + + public JavaClass addSource( URL url, String encoding ) throws IOException + { + return addSource(new InputStreamReader(url.openStream(), encoding)); + } + }
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/library/SortedClassLibraryBuilder.java (752 => 753)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/SortedClassLibraryBuilder.java 2010-09-27 20:33:31 UTC (rev 752) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/SortedClassLibraryBuilder.java 2010-09-28 20:49:45 UTC (rev 753) @@ -1,16 +1,19 @@ package com.thoughtworks.qdox.library; import java.io.File; +import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.Reader; +import java.net.URL; +import com.thoughtworks.qdox.model.JavaClass; + /** - * - * * @author Robert Scholte - * */ public class SortedClassLibraryBuilder + implements ClassLibraryBuilder { private ClassNameLibrary classNameLibrary; @@ -19,7 +22,7 @@ private SourceFolderLibrary sourceFolderLibrary; private SourceLibrary sourceLibrary; - + public SortedClassLibraryBuilder() { classNameLibrary = new ClassNameLibrary(); @@ -28,45 +31,69 @@ sourceLibrary = new SourceLibrary( sourceFolderLibrary ); } - public SortedClassLibraryBuilder addClassLoader( ClassLoader classLoader ) + public ClassLibraryBuilder appendClassLoader( ClassLoader classLoader ) { classLoaderLibrary.addClassLoader( classLoader ); return this; } - public SortedClassLibraryBuilder addSourceFolder( File sourceFolder ) + public ClassLibraryBuilder appendSourceFolder( File sourceFolder ) { sourceFolderLibrary.addSourceFolder( sourceFolder ); return this; } - public SortedClassLibraryBuilder addSource( InputStream stream ) + public ClassLibraryBuilder appendSource( InputStream stream ) { sourceLibrary.addSource( stream ); return this; } - public SortedClassLibraryBuilder addSource( Reader reader ) + public ClassLibraryBuilder appendSource( Reader reader ) { sourceLibrary.addSource( reader ); return this; } - - public SortedClassLibraryBuilder setDebugLexer( boolean debugLexer ) + + public ClassLibraryBuilder setDebugLexer( boolean debugLexer ) { sourceFolderLibrary.setDebugLexer( debugLexer ); sourceLibrary.setDebugLexer( debugLexer ); return this; } - - public SortedClassLibraryBuilder setDebugParser( boolean debugParser ) + + public ClassLibraryBuilder setDebugParser( boolean debugParser ) { sourceFolderLibrary.setDebugParser( debugParser ); sourceLibrary.setDebugParser( debugParser ); return this; } - public ClassLibrary getClassLibrary() { + public ClassLibrary getClassLibrary() + { return sourceLibrary; } + + public ClassLibraryBuilder appendSource( URL url, String encoding ) + throws IOException + { + return appendSource( new InputStreamReader( url.openStream(), encoding ) ); + } + + public JavaClass addSource( InputStream stream ) + { + return sourceLibrary.addSource( stream ); + } + + public JavaClass addSource( Reader reader ) + { + return sourceLibrary.addSource( reader ); + } + + public JavaClass addSource( URL url, String encoding ) + throws IOException + { + return addSource( new InputStreamReader( url.openStream(), encoding ) ); + } + }
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/library/SourceLibrary.java (752 => 753)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/SourceLibrary.java 2010-09-27 20:33:31 UTC (rev 752) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/SourceLibrary.java 2010-09-28 20:49:45 UTC (rev 753) @@ -32,18 +32,20 @@ super( parent ); } - public void addSource( Reader reader ) + public JavaClass addSource( Reader reader ) throws ParseException { JavaClass clazz = parse( reader ); javaClassesMap.put( clazz.getFullyQualifiedName(), clazz ); + return clazz; } - public void addSource( InputStream stream ) + public JavaClass addSource( InputStream stream ) throws ParseException { JavaClass clazz = parse( stream ); javaClassesMap.put( clazz.getFullyQualifiedName(), clazz ); + return clazz; } protected JavaClass parse( Reader reader )
To unsubscribe from this list please visit:
