Class TextFilePrinterDriver
- java.lang.Object
-
- org.pentaho.reporting.engine.classic.core.modules.output.pageable.plaintext.driver.TextFilePrinterDriver
-
- All Implemented Interfaces:
PrinterDriver
public class TextFilePrinterDriver extends Object implements PrinterDriver
This printer driver will ignore all TextChunk encodings, as it makes no sense to have more than one encoding type in a plain text file.
-
-
Constructor Summary
Constructors Constructor Description TextFilePrinterDriver(OutputStream out, float charsPerInch, float linesPerInch)
TextFilePrinterDriver(OutputStream out, float charsPerInch, float linesPerInch, boolean unixEndOfLine)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
endLine(boolean overflow)
Ends a new line.void
endPage(boolean overflow)
Ends the current page.void
flush()
Flushes the output stream.float
getCharactersPerInch()
Gets the default character width in CPI.protected EncodingUtilities
getEncodingUtilities(String encoding)
char[]
getEndOfLine()
char[]
getEndOfPage()
float
getLinesPerInch()
Gets the default line height.void
printChunk(PlaintextDataChunk chunk)
Prints a single text chunk at the given position on the current line.void
printEmptyChunk(int count)
Prints an empty chunk.void
printRaw(byte[] raw)
Prints some raw content.void
setEndOfLine(char[] endOfLine)
void
setEndOfPage(char[] endOfPage)
void
startLine()
Starts a new line.void
startPage(Paper paper, String encoding)
Resets the printer and starts a new page.
-
-
-
Constructor Detail
-
TextFilePrinterDriver
public TextFilePrinterDriver(OutputStream out, float charsPerInch, float linesPerInch)
-
TextFilePrinterDriver
public TextFilePrinterDriver(OutputStream out, float charsPerInch, float linesPerInch, boolean unixEndOfLine)
-
-
Method Detail
-
endLine
public void endLine(boolean overflow) throws IOException
Ends a new line.- Specified by:
endLine
in interfacePrinterDriver
- Parameters:
overflow
-- Throws:
IOException
- if an IOError occures.
-
endPage
public void endPage(boolean overflow) throws IOException
Ends the current page. Should print empty lines or an FORM_FEED command.- Specified by:
endPage
in interfacePrinterDriver
- Parameters:
overflow
-- Throws:
IOException
- if there was an IOError while writing the command
-
flush
public void flush() throws IOException
Flushes the output stream.- Specified by:
flush
in interfacePrinterDriver
- Throws:
IOException
- if an IOError occured.
-
getCharactersPerInch
public float getCharactersPerInch()
Gets the default character width in CPI.- Specified by:
getCharactersPerInch
in interfacePrinterDriver
- Returns:
- the default character width in CPI.
-
getLinesPerInch
public float getLinesPerInch()
Gets the default line height.- Specified by:
getLinesPerInch
in interfacePrinterDriver
- Returns:
- the default line height.
-
printChunk
public void printChunk(PlaintextDataChunk chunk) throws IOException
Prints a single text chunk at the given position on the current line. The chunk should not be printed, if an previous chunk overlays this chunk.- Specified by:
printChunk
in interfacePrinterDriver
- Parameters:
chunk
- the chunk that should be written- Throws:
IOException
- if an IO error occured.
-
printEmptyChunk
public void printEmptyChunk(int count) throws IOException
Prints an empty chunk. This is called for all undefined chunk-cells.- Specified by:
printEmptyChunk
in interfacePrinterDriver
- Throws:
IOException
- if an IOError occured.
-
printRaw
public void printRaw(byte[] raw) throws IOException
Prints some raw content. This content is not processed in any way, so be very carefull.- Specified by:
printRaw
in interfacePrinterDriver
- Parameters:
raw
- the content that should be printed.- Throws:
IOException
-
startLine
public void startLine() throws IOException
Starts a new line.- Specified by:
startLine
in interfacePrinterDriver
- Throws:
IOException
- if an IOError occures.
-
startPage
public void startPage(Paper paper, String encoding) throws IOException
Resets the printer and starts a new page. Prints the top border lines (if necessary).- Specified by:
startPage
in interfacePrinterDriver
- Throws:
IOException
- if there was an IOError while writing the command
-
getEncodingUtilities
protected EncodingUtilities getEncodingUtilities(String encoding) throws UnsupportedEncodingException
- Throws:
UnsupportedEncodingException
-
getEndOfLine
public char[] getEndOfLine()
-
setEndOfLine
public void setEndOfLine(char[] endOfLine)
-
getEndOfPage
public char[] getEndOfPage()
-
setEndOfPage
public void setEndOfPage(char[] endOfPage)
-
-