Class DocWriter

  • All Implemented Interfaces:
    DocListener, ElementListener, EventListener
    Direct Known Subclasses:
    HtmlWriter, PdfWriter

    public abstract class DocWriter
    extends Object
    implements DocListener
    An abstract Writer class for documents.

    DocWriter is the abstract class of several writers such as PdfWriter and HtmlWriter. A DocWriter can be added as a DocListener to a certain Document by getting an instance (see method getInstance() in the specific writer-classes). Every Element added to the original Document will be written to the OutputStream of the listening DocWriter.

    See Also:
    Document, DocListener
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean closeStream
      Closes the stream on document close
      protected Document document
      This is the document that has to be written.
      static byte EQUALS
      This is some byte that is often used.
      static byte FORWARD
      This is some byte that is often used.
      static byte GT
      This is some byte that is often used.
      static byte LT
      This is some byte that is often used.
      static byte NEWLINE
      This is some byte that is often used.
      protected boolean open
      Is the writer open for writing?
      protected OutputStreamCounter os
      The outputstream of this writer.
      protected Rectangle pageSize
      The pageSize.
      protected boolean pause
      Do we have to pause all writing actions?
      static byte QUOTE
      This is some byte that is often used.
      static byte SPACE
      This is some byte that is often used.
      static byte TAB
      This is some byte that is often used.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(Element element)
      Signals that an Element was added to the Document.
      protected void addTabs​(int indent)
      Writes a number of tabs.
      void close()
      Signals that the Document was closed and that no other Elements will be added.
      void flush()
      Flushes the BufferedOutputStream.
      static byte[] getISOBytes​(String text)
      Converts a String into a Byte array according to the ISO-8859-1 codepage.
      boolean isCloseStream()
      Checks if the stream is to be closed on document close
      boolean isPaused()
      Checks if writing is paused.
      boolean newPage()
      Signals that an new page has to be started.
      void open()
      Signals that the Document was opened.
      void pause()
      Let the writer know that all writing has to be paused.
      void resetFooter()
      Resets the footer of this document.
      void resetHeader()
      Resets the header of this document.
      void resetPageCount()
      Sets the page number to 0.
      void resume()
      Let the writer know that writing may be resumed.
      void setCloseStream​(boolean closeStream)
      Sets the close state of the stream after document close
      void setFooter​(HeaderFooter footer)
      Changes the footer of this document.
      void setHeader​(HeaderFooter header)
      Changes the header of this document.
      boolean setMarginMirroring​(boolean MarginMirroring)
      Allows you to do left/right margin mirroring (odd/even pages)
      boolean setMarginMirroringTopBottom​(boolean MarginMirroring)
      Parameter that allows you to do top/bottom margin mirroring (odd/even pages)
      boolean setMargins​(float marginLeft, float marginRight, float marginTop, float marginBottom)
      Sets the margins.
      void setPageCount​(int pageN)
      Sets the page number.
      boolean setPageSize​(Rectangle pageSize)
      Sets the pagesize.
      protected void write​(String string)
      Writes a String to the OutputStream.
      protected void write​(String key, String value)
      Writes a key-value pair to the outputstream.
      protected void writeEnd()
      Writes an endtag to the outputstream.
      protected void writeEnd​(String tag)
      Writes an endtag to the outputstream.
      protected boolean writeMarkupAttributes​(Properties markup)
      Writes the markup attributes of the specified MarkupAttributes object to the OutputStream.
      protected void writeStart​(String tag)
      Writes a starttag to the outputstream.
    • Field Detail

      • NEWLINE

        public static final byte NEWLINE
        This is some byte that is often used.
        See Also:
        Constant Field Values
      • TAB

        public static final byte TAB
        This is some byte that is often used.
        See Also:
        Constant Field Values
      • SPACE

        public static final byte SPACE
        This is some byte that is often used.
        See Also:
        Constant Field Values
      • EQUALS

        public static final byte EQUALS
        This is some byte that is often used.
        See Also:
        Constant Field Values
      • QUOTE

        public static final byte QUOTE
        This is some byte that is often used.
        See Also:
        Constant Field Values
      • FORWARD

        public static final byte FORWARD
        This is some byte that is often used.
        See Also:
        Constant Field Values
      • pageSize

        protected Rectangle pageSize
        The pageSize.
      • document

        protected Document document
        This is the document that has to be written.
      • open

        protected boolean open
        Is the writer open for writing?
      • pause

        protected boolean pause
        Do we have to pause all writing actions?
      • closeStream

        protected boolean closeStream
        Closes the stream on document close
    • Constructor Detail

      • DocWriter

        protected DocWriter()
      • DocWriter

        protected DocWriter​(Document document,
                            OutputStream os)
        Constructs a DocWriter.
        Parameters:
        document - The Document that has to be written
        os - The OutputStream the writer has to write to.
    • Method Detail

      • add

        public boolean add​(Element element)
                    throws DocumentException
        Signals that an Element was added to the Document.

        This method should be overridden in the specific DocWriter classes derived from this abstract class.

        Specified by:
        add in interface ElementListener
        Parameters:
        element - A high level object to add
        Returns:
        false
        Throws:
        DocumentException - when a document isn't open yet, or has been closed
      • open

        public void open()
        Signals that the Document was opened.
        Specified by:
        open in interface DocListener
      • setPageSize

        public boolean setPageSize​(Rectangle pageSize)
        Sets the pagesize.
        Specified by:
        setPageSize in interface DocListener
        Parameters:
        pageSize - the new pagesize
        Returns:
        a boolean
      • setMargins

        public boolean setMargins​(float marginLeft,
                                  float marginRight,
                                  float marginTop,
                                  float marginBottom)
        Sets the margins.

        This does nothing. Has to be overridden if needed.

        Specified by:
        setMargins in interface DocListener
        Parameters:
        marginLeft - the margin on the left
        marginRight - the margin on the right
        marginTop - the margin on the top
        marginBottom - the margin on the bottom
        Returns:
        false
      • newPage

        public boolean newPage()
        Signals that an new page has to be started.

        This does nothing. Has to be overridden if needed.

        Specified by:
        newPage in interface DocListener
        Returns:
        true if the page was added, false if not.
      • setHeader

        public void setHeader​(HeaderFooter header)
        Changes the header of this document.

        This method should be overridden in the specific DocWriter classes derived from this abstract class if they actually support the use of headers.

        Specified by:
        setHeader in interface DocListener
        Parameters:
        header - the new header
      • resetHeader

        public void resetHeader()
        Resets the header of this document.

        This method should be overridden in the specific DocWriter classes derived from this abstract class if they actually support the use of headers.

        Specified by:
        resetHeader in interface DocListener
      • setFooter

        public void setFooter​(HeaderFooter footer)
        Changes the footer of this document.

        This method should be overridden in the specific DocWriter classes derived from this abstract class if they actually support the use of footers.

        Specified by:
        setFooter in interface DocListener
        Parameters:
        footer - the new footer
      • resetFooter

        public void resetFooter()
        Resets the footer of this document.

        This method should be overridden in the specific DocWriter classes derived from this abstract class if they actually support the use of footers.

        Specified by:
        resetFooter in interface DocListener
      • resetPageCount

        public void resetPageCount()
        Sets the page number to 0.

        This method should be overridden in the specific DocWriter classes derived from this abstract class if they actually support the use of pagenumbers.

        Specified by:
        resetPageCount in interface DocListener
      • setPageCount

        public void setPageCount​(int pageN)
        Sets the page number.

        This method should be overridden in the specific DocWriter classes derived from this abstract class if they actually support the use of pagenumbers.

        Specified by:
        setPageCount in interface DocListener
        Parameters:
        pageN - the new page number
      • close

        public void close()
        Signals that the Document was closed and that no other Elements will be added.
        Specified by:
        close in interface DocListener
      • getISOBytes

        public static final byte[] getISOBytes​(String text)
        Converts a String into a Byte array according to the ISO-8859-1 codepage.
        Parameters:
        text - the text to be converted
        Returns:
        the conversion result
      • pause

        public void pause()
        Let the writer know that all writing has to be paused.
      • isPaused

        public boolean isPaused()
        Checks if writing is paused.
        Returns:
        true if writing temporarily has to be paused, false otherwise.
      • resume

        public void resume()
        Let the writer know that writing may be resumed.
      • flush

        public void flush()
        Flushes the BufferedOutputStream.
      • write

        protected void write​(String string)
                      throws IOException
        Writes a String to the OutputStream.
        Parameters:
        string - the String to write
        Throws:
        IOException - if there is any error
      • addTabs

        protected void addTabs​(int indent)
                        throws IOException
        Writes a number of tabs.
        Parameters:
        indent - the number of tabs to add
        Throws:
        IOException - if there is any error
      • write

        protected void write​(String key,
                             String value)
                      throws IOException
        Writes a key-value pair to the outputstream.
        Parameters:
        key - the name of an attribute
        value - the value of an attribute
        Throws:
        IOException - if there is any error
      • writeStart

        protected void writeStart​(String tag)
                           throws IOException
        Writes a starttag to the outputstream.
        Parameters:
        tag - the name of the tag
        Throws:
        IOException - if there is any error
      • writeEnd

        protected void writeEnd​(String tag)
                         throws IOException
        Writes an endtag to the outputstream.
        Parameters:
        tag - the name of the tag
        Throws:
        IOException - if there is any error
      • writeEnd

        protected void writeEnd()
                         throws IOException
        Writes an endtag to the outputstream.
        Throws:
        IOException - if there is any error
      • writeMarkupAttributes

        protected boolean writeMarkupAttributes​(Properties markup)
                                         throws IOException
        Writes the markup attributes of the specified MarkupAttributes object to the OutputStream.
        Parameters:
        markup - a Properties collection to write.
        Returns:
        true, if writing the markup attributes succeeded
        Throws:
        IOException - if there is any error
      • isCloseStream

        public boolean isCloseStream()
        Checks if the stream is to be closed on document close
        Returns:
        true if the stream is closed on document close
      • setCloseStream

        public void setCloseStream​(boolean closeStream)
        Sets the close state of the stream after document close
        Parameters:
        closeStream - true if the stream is closed on document close
      • setMarginMirroring

        public boolean setMarginMirroring​(boolean MarginMirroring)
        Description copied from interface: DocListener
        Allows you to do left/right margin mirroring (odd/even pages)
        Specified by:
        setMarginMirroring in interface DocListener
        Parameters:
        MarginMirroring - left/right margin mirroring (odd/even pages)
        Returns:
        true if successful
        See Also:
        DocListener.setMarginMirroring(boolean)
      • setMarginMirroringTopBottom

        public boolean setMarginMirroringTopBottom​(boolean MarginMirroring)
        Description copied from interface: DocListener
        Parameter that allows you to do top/bottom margin mirroring (odd/even pages)
        Specified by:
        setMarginMirroringTopBottom in interface DocListener
        Parameters:
        MarginMirroring - top/bottom margin mirroring (odd/even pages)
        Returns:
        true if successful
        Since:
        2.1.6
        See Also:
        DocListener.setMarginMirroring(boolean)