com.lowagie.text

Class DocWriter

Implemented Interfaces:
DocListener, ElementListener, EventListener
Known Direct Subclasses:
HtmlWriter, PdfWriter, RtfWriter, RtfWriter2

public abstract class DocWriter
extends java.lang.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

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.
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.
protected boolean
closeStream
Closes the stream on document close
protected Document
document
This is the document that has to be written.
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?

Constructor Summary

DocWriter()
DocWriter(Document document, OutputStream os)
Constructs a DocWriter.

Method Summary

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)
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 Details

EQUALS

public static final byte EQUALS
This is some byte that is often used.
Field Value:
61

FORWARD

public static final byte FORWARD
This is some byte that is often used.
Field Value:
47

GT

public static final byte GT
This is some byte that is often used.
Field Value:
62

LT

public static final byte LT
This is some byte that is often used.
Field Value:
60

NEWLINE

public static final byte NEWLINE
This is some byte that is often used.
Field Value:
10

QUOTE

public static final byte QUOTE
This is some byte that is often used.
Field Value:
92

SPACE

public static final byte SPACE
This is some byte that is often used.
Field Value:
32

TAB

public static final byte TAB
This is some byte that is often used.
Field Value:
9

closeStream

protected boolean closeStream
Closes the stream on document close

document

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

open

protected boolean open
Is the writer open for writing?

os

protected OutputStreamCounter os
The outputstream of this writer.

pageSize

protected Rectangle pageSize
The pageSize.

pause

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

Constructor Details

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 Details

add

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

This method should be overriden 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

addTabs

protected void addTabs(int indent)
            throws IOException
Writes a number of tabs.
Parameters:
indent - the number of tabs to add

close

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

flush

public void flush()
Flushes the BufferedOutputStream.

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

isCloseStream

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

isPaused

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

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.

open

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

pause

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

resetFooter

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

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

Specified by:
resetFooter in interface DocListener

resetHeader

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

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

Specified by:
resetHeader in interface DocListener

resetPageCount

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

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

Specified by:
resetPageCount in interface DocListener

resume

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

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

setFooter

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

This method should be overriden 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

setHeader

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

This method should be overriden 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

setMarginMirroring

public boolean setMarginMirroring(boolean MarginMirroring)
Specified by:
setMarginMirroring in interface DocListener

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

setPageCount

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

This method should be overriden 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

setPageSize

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

write

protected void write(String string)
            throws IOException
Writes a String to the OutputStream.
Parameters:
string - the String to write

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

writeEnd

protected void writeEnd()
            throws IOException
Writes an endtag to the outputstream.

writeEnd

protected void writeEnd(String tag)
            throws IOException
Writes an endtag to the outputstream.
Parameters:
tag - the name of the tag

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

writeStart

protected void writeStart(String tag)
            throws IOException
Writes a starttag to the outputstream.
Parameters:
tag - the name of the tag