- Revision
- 755
- Author
- rfscholte
- Date
- 2010-09-29 16:25:47 -0500 (Wed, 29 Sep 2010)
Log Message
Add addEncoding and addSource(File) to ClassLibraryBuilder
Modified Paths
- trunk/qdox/src/java/com/thoughtworks/qdox/library/AbstractClassLibrary.java
- 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/java/com/thoughtworks/qdox/library/SourceLibrary.java
Diff
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/library/AbstractClassLibrary.java (754 => 755)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/AbstractClassLibrary.java 2010-09-28 22:07:38 UTC (rev 754) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/AbstractClassLibrary.java 2010-09-29 21:25:47 UTC (rev 755) @@ -1,7 +1,6 @@ package com.thoughtworks.qdox.library; import com.thoughtworks.qdox.JavaClassContext; -import com.thoughtworks.qdox.JavaDocBuilder; import com.thoughtworks.qdox.model.JavaClass; /**
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java (754 => 755)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java 2010-09-28 22:07:38 UTC (rev 754) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/ClassLibraryBuilder.java 2010-09-29 21:25:47 UTC (rev 755) @@ -19,17 +19,23 @@ public ClassLibraryBuilder appendSource( Reader reader ); - public ClassLibraryBuilder appendSource( URL reader, String encoding ) throws IOException; + public ClassLibraryBuilder appendSource( URL url ) throws IOException; + public ClassLibraryBuilder appendSource( File file ) throws IOException; + public JavaClass addSource( InputStream stream ); public JavaClass addSource( Reader reader ); - public JavaClass addSource( URL reader, String encoding ) throws IOException; + public JavaClass addSource( URL url ) throws IOException; + + public JavaClass addSource( File file ) throws IOException; public ClassLibraryBuilder setDebugLexer( boolean debugLexer ); public ClassLibraryBuilder setDebugParser( boolean debugParser ); + + public ClassLibraryBuilder setEncoding( String encoding ); public ClassLibrary getClassLibrary();
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java (754 => 755)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java 2010-09-28 22:07:38 UTC (rev 754) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/OrderedClassLibraryBuilder.java 2010-09-29 21:25:47 UTC (rev 755) @@ -27,6 +27,8 @@ private boolean debugParser; + private String encoding; + public OrderedClassLibraryBuilder() { modelBuilderFactory = new ModelBuilderFactory() @@ -69,8 +71,7 @@ classLibrary = new SourceFolderLibrary( modelBuilderFactory, classLibrary ); } SourceFolderLibrary sourceFolderLibrary = (SourceFolderLibrary) classLibrary; - sourceFolderLibrary.setDebugLexer( debugLexer ); - sourceFolderLibrary.setDebugParser( debugParser ); + prepareSourceLibrary( sourceFolderLibrary ); sourceFolderLibrary.addSourceFolder( sourceFolder ); return this; } @@ -80,13 +81,7 @@ */ public ClassLibraryBuilder appendSource( InputStream stream ) { - if ( !( classLibrary instanceof SourceLibrary ) ) - { - classLibrary = new SourceLibrary( modelBuilderFactory, classLibrary ); - } - SourceLibrary sourceLibrary = (SourceLibrary) classLibrary; - sourceLibrary.setDebugLexer( debugLexer ); - sourceLibrary.setDebugParser( debugParser ); + SourceLibrary sourceLibrary = getSourceLibrary(); sourceLibrary.addSource( stream ); return this; } @@ -96,13 +91,7 @@ */ public ClassLibraryBuilder appendSource( Reader reader ) { - if ( !( classLibrary instanceof SourceLibrary ) ) - { - classLibrary = new SourceLibrary( modelBuilderFactory, classLibrary ); - } - SourceLibrary sourceLibrary = (SourceLibrary) classLibrary; - sourceLibrary.setDebugLexer( debugLexer ); - sourceLibrary.setDebugParser( debugParser ); + SourceLibrary sourceLibrary = getSourceLibrary(); sourceLibrary.addSource( reader ); return this; } @@ -124,6 +113,12 @@ this.debugParser = debugParser; return this; } + + public ClassLibraryBuilder setEncoding( String encoding ) + { + this.encoding = encoding; + return this; + } /* (non-Javadoc) * @see com.thoughtworks.qdox.library.ClassLibraryBuilder#getClassLibrary() @@ -133,38 +128,60 @@ return classLibrary; } - public ClassLibraryBuilder appendSource( URL url, String encoding ) throws IOException + public ClassLibraryBuilder appendSource( URL url ) throws IOException { - return appendSource(new InputStreamReader(url.openStream(), encoding)); + SourceLibrary sourceLibrary = getSourceLibrary(); + sourceLibrary.addSource( url ); + return this; } + + public ClassLibraryBuilder appendSource( File file ) + throws IOException + { + SourceLibrary sourceLibrary = getSourceLibrary(); + sourceLibrary.addSource( file ); + return this; + } public JavaClass addSource( InputStream stream ) { - if ( !( classLibrary instanceof SourceLibrary ) ) - { - classLibrary = new SourceLibrary( modelBuilderFactory, classLibrary ); - } - SourceLibrary sourceLibrary = (SourceLibrary) classLibrary; - sourceLibrary.setDebugLexer( debugLexer ); - sourceLibrary.setDebugParser( debugParser ); + SourceLibrary sourceLibrary = getSourceLibrary(); return sourceLibrary.addSource( stream ); } public JavaClass addSource( Reader reader ) { + SourceLibrary sourceLibrary = getSourceLibrary(); + return sourceLibrary.addSource( reader ); + } + + public JavaClass addSource( URL url ) throws IOException + { + SourceLibrary sourceLibrary = getSourceLibrary(); + return sourceLibrary.addSource( url ); + } + + public JavaClass addSource( File file ) + throws IOException + { + SourceLibrary sourceLibrary = getSourceLibrary(); + return sourceLibrary.addSource( file ); + } + + private void prepareSourceLibrary( SourceLibrary sourceLibrary ) { + sourceLibrary.setDebugLexer( debugLexer ); + sourceLibrary.setDebugParser( debugParser ); + sourceLibrary.setEncoding( encoding ); + } + + private SourceLibrary getSourceLibrary() { if ( !( classLibrary instanceof SourceLibrary ) ) { classLibrary = new SourceLibrary( modelBuilderFactory, classLibrary ); } SourceLibrary sourceLibrary = (SourceLibrary) classLibrary; - sourceLibrary.setDebugLexer( debugLexer ); - sourceLibrary.setDebugParser( debugParser ); - return sourceLibrary.addSource( reader ); + prepareSourceLibrary( sourceLibrary ); + return sourceLibrary; } - 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 (754 => 755)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/SortedClassLibraryBuilder.java 2010-09-28 22:07:38 UTC (rev 754) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/SortedClassLibraryBuilder.java 2010-09-29 21:25:47 UTC (rev 755) @@ -71,6 +71,20 @@ sourceLibrary.addSource( reader ); return this; } + + public ClassLibraryBuilder appendSource( URL url ) + throws IOException + { + sourceLibrary.addSource( url ); + return this; + } + + public ClassLibraryBuilder appendSource( File file ) + throws IOException + { + sourceLibrary.addSource( file ); + return this; + } public ClassLibraryBuilder setDebugLexer( boolean debugLexer ) { @@ -85,18 +99,19 @@ sourceLibrary.setDebugParser( debugParser ); return this; } + + public ClassLibraryBuilder setEncoding( String encoding ) + { + sourceFolderLibrary.setEncoding( encoding ); + sourceLibrary.setEncoding( encoding ); + return this; + } 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 ); @@ -107,10 +122,16 @@ return sourceLibrary.addSource( reader ); } - public JavaClass addSource( URL url, String encoding ) + public JavaClass addSource( URL url ) throws IOException { - return addSource( new InputStreamReader( url.openStream(), encoding ) ); + return sourceLibrary.addSource( url ); } + + public JavaClass addSource( File file ) + throws IOException + { + return sourceLibrary.addSource( file ); + } }
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/library/SourceLibrary.java (754 => 755)
--- trunk/qdox/src/java/com/thoughtworks/qdox/library/SourceLibrary.java 2010-09-28 22:07:38 UTC (rev 754) +++ trunk/qdox/src/java/com/thoughtworks/qdox/library/SourceLibrary.java 2010-09-29 21:25:47 UTC (rev 755) @@ -1,7 +1,12 @@ package com.thoughtworks.qdox.library; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.Reader; +import java.net.URL; import java.util.Hashtable; import java.util.Map; @@ -24,22 +29,29 @@ private boolean debugLexer; private boolean debugParser; + + private String encoding; public SourceLibrary( ModelBuilderFactory modelBuilderFactory ) { super(); + this.modelBuilderFactory = modelBuilderFactory; } public SourceLibrary( ModelBuilderFactory modelBuilderFactory, ClassLibrary parent ) { super( parent ); + this.modelBuilderFactory = modelBuilderFactory; } public JavaClass addSource( Reader reader ) throws ParseException { JavaClass clazz = parse( reader ); - javaClassesMap.put( clazz.getFullyQualifiedName(), clazz ); + if ( clazz != null ) + { + javaClassesMap.put( clazz.getFullyQualifiedName(), clazz ); + } return clazz; } @@ -47,10 +59,24 @@ throws ParseException { JavaClass clazz = parse( stream ); - javaClassesMap.put( clazz.getFullyQualifiedName(), clazz ); + if (clazz != null) { + javaClassesMap.put( clazz.getFullyQualifiedName(), clazz ); + } return clazz; } + + public JavaClass addSource( URL url ) + throws ParseException, IOException + { + return addSource( new InputStreamReader( url.openStream(), encoding) ); + } + public JavaClass addSource( File file ) + throws ParseException, IOException + { + return addSource( new FileInputStream( file ) ); + } + protected JavaClass parse( Reader reader ) throws ParseException { @@ -71,7 +97,7 @@ Parser parser = new Parser( lexer, builder ); parser.setDebugLexer( debugLexer ); parser.setDebugParser( debugParser ); - if ( parser.parse() ) + if ( parser.parse() && builder.getSource().getClasses().length > 0 ) { result = builder.getSource().getClasses()[0]; } @@ -97,4 +123,9 @@ { this.debugParser = debugParser; } + + public void setEncoding( String encoding ) + { + this.encoding = encoding; + } }
To unsubscribe from this list please visit:
