You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by vs...@apache.org on 2008/10/10 13:21:06 UTC

svn commit: r703409 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java

Author: vsiveton
Date: Fri Oct 10 04:21:06 2008
New Revision: 703409

URL: http://svn.apache.org/viewvc?rev=703409&view=rev
Log:
o improved performance
o added javadoc

Modified:
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java?rev=703409&r1=703408&r2=703409&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java Fri Oct 10 04:21:06 2008
@@ -44,31 +44,43 @@
 public class RtfSink
     extends SinkAdapter
 {
-
+    /** Paper width, 21 cm */
     public static final double DEFAULT_PAPER_WIDTH = 21.;   /*cm*/
 
+    /** Paper height, 29.7 cm */
     public static final double DEFAULT_PAPER_HEIGHT = 29.7; /*cm*/
 
+    /** Paper top margin, 2 cm */
     public static final double DEFAULT_TOP_MARGIN = 2.;    /*cm*/
 
+    /** Paper bottom margin, 2 cm */
     public static final double DEFAULT_BOTTOM_MARGIN = 2.; /*cm*/
 
+    /** Paper left margin, 2 cm */
     public static final double DEFAULT_LEFT_MARGIN = 2.;   /*cm*/
 
+    /** Paper right margin, 2 cm */
     public static final double DEFAULT_RIGHT_MARGIN = 2.;  /*cm*/
 
+    /** Font size, 10 pts */
     public static final int DEFAULT_FONT_SIZE = 10; /*pts*/
 
+    /** Spacing, 10 pts */
     public static final int DEFAULT_SPACING = 10;   /*pts*/
 
+    /** Resolution, 72 dpi */
     public static final int DEFAULT_RESOLUTION = 72; /*dpi*/
 
+    /** Image format, bmp */
     public static final String DEFAULT_IMAGE_FORMAT = "bmp";
 
+    /** Image type, palette */
     public static final String DEFAULT_IMAGE_TYPE = "palette";
 
+    /** Data format, ascii */
     public static final String DEFAULT_DATA_FORMAT = "ascii";
 
+    /** Codepage, 1252 */
     public static final int DEFAULT_CODE_PAGE = 1252;
 
     public static final int DEFAULT_CHAR_SET = 0;
@@ -131,7 +143,7 @@
 
     private double rightMargin = DEFAULT_RIGHT_MARGIN;
 
-    private int fontSize = DEFAULT_FONT_SIZE;
+    protected int fontSize = DEFAULT_FONT_SIZE;
 
     private int resolution = DEFAULT_RESOLUTION;
 
@@ -153,9 +165,9 @@
 
     private Paragraph paragraph;
 
-    private Indentation indentation;
+    protected Indentation indentation;
 
-    private Space space;
+    protected Space space;
 
     private int listItemIndent;
 
@@ -187,18 +199,30 @@
 
     // -----------------------------------------------------------------------
 
+    /**
+     * @throws IOException if any
+     */
     public RtfSink()
         throws IOException
     {
         this( System.out );
     }
 
+    /**
+     * @param output not null
+     * @throws IOException if any
+     */
     public RtfSink( OutputStream output )
         throws IOException
     {
         this( output, null );
     }
 
+    /**
+     * @param output not null
+     * @param encoding a valid charset
+     * @throws IOException if any
+     */
     public RtfSink( OutputStream output, String encoding )
         throws IOException
     {
@@ -228,77 +252,121 @@
         writer = new PrintWriter( new BufferedWriter( w ) );
     }
 
+    /**
+     * @param width in cm
+     * @param height in cm
+     */
     public void setPaperSize( double width /*cm*/, double height /*cm*/ )
     {
         paperWidth = width;
         paperHeight = height;
     }
 
+    /**
+     * @param margin
+     */
     public void setTopMargin( double margin )
     {
         topMargin = margin;
     }
 
+    /**
+     * @param margin
+     */
     public void setBottomMargin( double margin )
     {
         bottomMargin = margin;
     }
 
+    /**
+     * @param margin
+     */
     public void setLeftMargin( double margin )
     {
         leftMargin = margin;
     }
 
+    /**
+     * @param margin
+     */
     public void setRightMargin( double margin )
     {
         rightMargin = margin;
     }
 
+    /**
+     * @param size in pts
+     */
     public void setFontSize( int size /*pts*/ )
     {
         fontSize = size;
     }
 
+    /**
+     * @param spacing in pts
+     */
     public void setSpacing( int spacing /*pts*/ )
     {
         space.set( 20 * spacing );
     }
 
+    /**
+     * @param resolution in dpi
+     */
     public void setResolution( int resolution /*dpi*/ )
     {
         this.resolution = resolution;
     }
 
+    /**
+     * @param format
+     */
     public void setImageFormat( String format )
     {
         imageFormat = format;
     }
 
+    /**
+     * @param type
+     */
     public void setImageType( String type )
     {
         imageType = type;
     }
 
+    /**
+     * @param format
+     */
     public void setImageDataFormat( String format )
     {
         imageDataFormat = format;
     }
 
+    /**
+     * @param compression
+     */
     public void setImageCompression( boolean compression )
     {
         imageCompression = compression;
     }
 
+    /**
+     * @param cp
+     */
     public void setCodePage( int cp )
     {
         codePage = cp;
     }
 
+    /**
+     * @param cs
+     */
     public void setCharSet( int cs )
     {
         charSet = cs;
     }
 
+    /** {@inheritDoc} */
     public void head()
     {
         writer.println( "{\\rtf1\\ansi\\ansicpg" + codePage + "\\deff0" );
@@ -331,6 +399,7 @@
         emptyHeader = true;
     }
 
+    /** {@inheritDoc} */
     public void head_()
     {
         space.restore();
@@ -344,7 +413,7 @@
         }
     }
 
-    private int toTwips( double length, int unit )
+    protected int toTwips( double length, int unit )
     {
         double points;
 
@@ -368,6 +437,7 @@
         return (int) Math.rint( points * 20. );
     }
 
+    /** {@inheritDoc} */
     public void title()
     {
         Paragraph p = new Paragraph( STYLE_BOLD, fontSize + 6 );
@@ -376,11 +446,13 @@
         emptyHeader = false;
     }
 
+    /** {@inheritDoc} */
     public void title_()
     {
         endParagraph();
     }
 
+    /** {@inheritDoc} */
     public void author()
     {
         Paragraph p = new Paragraph( STYLE_ROMAN, fontSize + 2 );
@@ -389,11 +461,13 @@
         emptyHeader = false;
     }
 
+    /** {@inheritDoc} */
     public void author_()
     {
         endParagraph();
     }
 
+    /** {@inheritDoc} */
     public void date()
     {
         Paragraph p = new Paragraph( STYLE_ROMAN, fontSize );
@@ -402,66 +476,86 @@
         emptyHeader = false;
     }
 
+    /** {@inheritDoc} */
     public void date_()
     {
         endParagraph();
     }
 
+    /** {@inheritDoc} */
     public void body()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void body_()
     {
         writer.println( "}" );
         writer.flush();
     }
 
+    /** {@inheritDoc} */
     public void section1()
     {
         sectionLevel = 1;
     }
 
+    /** {@inheritDoc} */
     public void section1_()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void section2()
     {
         sectionLevel = 2;
     }
 
+    /** {@inheritDoc} */
     public void section2_()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void section3()
     {
         sectionLevel = 3;
     }
 
+    /** {@inheritDoc} */
     public void section3_()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void section4()
     {
         sectionLevel = 4;
     }
 
+    /** {@inheritDoc} */
     public void section4_()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void section5()
     {
         sectionLevel = 5;
     }
 
+    /** {@inheritDoc} */
     public void section5_()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void sectionTitle()
     {
         int stl = STYLE_BOLD;
@@ -491,6 +585,7 @@
         beginParagraph( p );
     }
 
+    /** {@inheritDoc} */
     public void sectionTitle_()
     {
         endParagraph();
@@ -501,18 +596,21 @@
         return level;
     }
 
+    /** {@inheritDoc} */
     public void list()
     {
         indentation.add( LIST_INDENT );
         space.set( space.get() / 2 );
     }
 
+    /** {@inheritDoc} */
     public void list_()
     {
         indentation.restore();
         space.restore();
     }
 
+    /** {@inheritDoc} */
     public void listItem()
     {
         Paragraph p = new Paragraph();
@@ -528,6 +626,7 @@
         space.set( space.get() / 2 );
     }
 
+    /** {@inheritDoc} */
     public void listItem_()
     {
         endParagraph();
@@ -536,6 +635,7 @@
         space.restore();
     }
 
+    /** {@inheritDoc} */
     public void numberedList( int numbering )
     {
         this.numbering.addElement( new Integer( numbering ) );
@@ -545,6 +645,7 @@
         space.set( space.get() / 2 );
     }
 
+    /** {@inheritDoc} */
     public void numberedList_()
     {
         numbering.removeElementAt( numbering.size() - 1 );
@@ -554,6 +655,7 @@
         space.restore();
     }
 
+    /** {@inheritDoc} */
     public void numberedListItem()
     {
         ( (Counter) itemNumber.lastElement() ).increment();
@@ -579,6 +681,7 @@
         space.set( space.get() / 2 );
     }
 
+    /** {@inheritDoc} */
     public void numberedListItem_()
     {
         endParagraph();
@@ -637,6 +740,7 @@
         return buf.toString();
     }
 
+    /** {@inheritDoc} */
     public void definitionList()
     {
         int next = space.getNext();
@@ -646,12 +750,14 @@
         space.setNext( next );
     }
 
+    /** {@inheritDoc} */
     public void definitionList_()
     {
         indentation.restore();
         space.restore();
     }
 
+    /** {@inheritDoc} */
     public void definitionListItem()
     {
         int next = space.getNext();
@@ -659,20 +765,25 @@
         space.setNext( next );
     }
 
+    /** {@inheritDoc} */
     public void definitionListItem_()
     {
         space.restore();
     }
 
+    /** {@inheritDoc} */
     public void definedTerm()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void definedTerm_()
     {
         endParagraph();
     }
 
+    /** {@inheritDoc} */
     public void definition()
     {
         int next = space.getNext();
@@ -682,6 +793,7 @@
         space.setNext( next );
     }
 
+    /** {@inheritDoc} */
     public void definition_()
     {
         endParagraph();
@@ -690,14 +802,19 @@
         space.restore();
     }
 
+    /** {@inheritDoc} */
     public void table()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void table_()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void tableRows( int[] justification, boolean grid )
 
     {
@@ -705,6 +822,7 @@
         context.set( CONTEXT_TABLE );
     }
 
+    /** {@inheritDoc} */
     public void tableRows_()
     {
         boolean bb = false;
@@ -848,38 +966,45 @@
         }
     }
 
+    /** {@inheritDoc} */
     public void tableRow()
     {
         row = new Row();
     }
 
+    /** {@inheritDoc} */
     public void tableRow_()
     {
         table.add( row );
     }
 
+    /** {@inheritDoc} */
     public void tableHeaderCell()
     {
         tableCell();
     }
 
+    /** {@inheritDoc} */
     public void tableHeaderCell_()
     {
         tableCell_();
     }
 
+    /** {@inheritDoc} */
     public void tableCell()
     {
         cell = new Cell();
         line = new Line();
     }
 
+    /** {@inheritDoc} */
     public void tableCell_()
     {
         cell.add( line );
         row.add( cell );
     }
 
+    /** {@inheritDoc} */
     public void tableCaption()
     {
         Paragraph p = new Paragraph();
@@ -888,11 +1013,13 @@
         beginParagraph( p );
     }
 
+    /** {@inheritDoc} */
     public void tableCaption_()
     {
         endParagraph();
     }
 
+    /** {@inheritDoc} */
     public void paragraph()
     {
         if ( paragraph == null )
@@ -901,6 +1028,7 @@
         }
     }
 
+    /** {@inheritDoc} */
     public void paragraph_()
     {
         endParagraph();
@@ -929,6 +1057,7 @@
         }
     }
 
+    /** {@inheritDoc} */
     public void verbatim( boolean boxed )
     {
         verbatim = new StringBuffer();
@@ -937,6 +1066,7 @@
         context.set( CONTEXT_VERBATIM );
     }
 
+    /** {@inheritDoc} */
     public void verbatim_()
     {
         String text = verbatim.toString();
@@ -966,14 +1096,19 @@
         context.restore();
     }
 
+    /** {@inheritDoc} */
     public void figure()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void figure_()
     {
+        // nop
     }
 
+    /** {@inheritDoc} */
     public void figureGraphics( String name )
     {
         if ( !name.endsWith( ".ppm" ) )
@@ -1184,6 +1319,7 @@
         writer.println( "}" );
     }
 
+    /** {@inheritDoc} */
     public void figureCaption()
     {
         Paragraph p = new Paragraph();
@@ -1192,11 +1328,13 @@
         beginParagraph( p );
     }
 
+    /** {@inheritDoc} */
     public void figureCaption_()
     {
         endParagraph();
     }
 
+    /** {@inheritDoc} */
     public void horizontalRule()
     {
         writer.print( "\\pard\\li" + indentation.get() );
@@ -1221,21 +1359,25 @@
     /** {@inheritDoc} */
     public void anchor( String name )
     {
+        // nop
     }
 
     /** {@inheritDoc} */
     public void anchor_()
     {
+        // nop
     }
 
     /** {@inheritDoc} */
     public void link( String name )
     {
+        // nop
     }
 
     /** {@inheritDoc} */
     public void link_()
     {
+        // nop
     }
 
     /** {@inheritDoc} */
@@ -1452,7 +1594,7 @@
         return buffer.toString();
     }
 
-    private Font getFont( int style, int size )
+    protected Font getFont( int style, int size )
     {
         Font font = null;
 
@@ -1471,6 +1613,10 @@
             }
             catch ( Exception ignored )
             {
+                if ( getLog().isDebugEnabled() )
+                {
+                    getLog().debug( ignored.getMessage(), ignored );
+                }
             }
         }
         else
@@ -1500,9 +1646,8 @@
 
     // -----------------------------------------------------------------------
 
-    private class Counter
+    static class Counter
     {
-
         private int value;
 
         Counter( int value )
@@ -1529,12 +1674,10 @@
         {
             this.value += value;
         }
-
     }
 
-    private class Context
+    static class Context
     {
-
         private int context = CONTEXT_UNDEFINED;
 
         private Vector stack = new Vector();
@@ -1558,12 +1701,10 @@
         {
             return context;
         }
-
     }
 
-    private class Paragraph
+    class Paragraph
     {
-
         int style = 0;
 
         int justification = Sink.JUSTIFY_LEFT;
@@ -1586,6 +1727,7 @@
 
         Paragraph()
         {
+            // nop
         }
 
         Paragraph( int style, int size )
@@ -1663,12 +1805,10 @@
         {
             writer.println( "\\par" );
         }
-
     }
 
-    private class Space
+    class Space
     {
-
         private int space;
 
         private int next;
@@ -1729,12 +1869,10 @@
             }
             writer.println( "\\plain\\fs1\\par" );
         }
-
     }
 
-    private class Indentation
+    static class Indentation
     {
-
         private int indent;
 
         private Vector stack = new Vector();
@@ -1768,12 +1906,10 @@
         {
             set( this.indent + indent );
         }
-
     }
 
-    private class Table
+    static class Table
     {
-
         int numColumns;
 
         int[] columnWidths;
@@ -1825,12 +1961,10 @@
             }
             return width;
         }
-
     }
 
-    private class Row
+    static class Row
     {
-
         Vector cells = new Vector();
 
         void add( Cell cell )
@@ -1853,12 +1987,10 @@
             }
             return height;
         }
-
     }
 
-    private class Cell
+    class Cell
     {
-
         Vector lines = new Vector();
 
         void add( Line line )
@@ -1908,24 +2040,20 @@
 
             return new Box( width, height );
         }
-
     }
 
-    private class Line
+    static class Line
     {
-
         Vector items = new Vector();
 
         void add( Item item )
         {
             items.addElement( item );
         }
-
     }
 
-    private class Item
+    static class Item
     {
-
         int style;
 
         String text;
@@ -1935,12 +2063,10 @@
             this.style = style;
             this.text = text;
         }
-
     }
 
-    private class Box
+    static class Box
     {
-
         int width;
 
         int height;
@@ -1950,7 +2076,6 @@
             this.width = width;
             this.height = height;
         }
-
     }
 
     /** {@inheritDoc} */