|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.Writer java.io.FilterWriter org.geotools.io.TableWriter
A character stream that can be used to format tables. Columns are separated
by tabulations ('\t'
) and rows are separated by line terminators
('\r'
, '\n'
or "\r\n"
). Every table's
cells are stored in memory until flush()
is invoked. When invoked,
flush()
copy cell's contents to the underlying stream while replacing
tabulations by some amount of spaces. The exact number of spaces is computed
from cell's widths. produces correct output when
displayed with a monospace font.
For example, the following code...
...produces the following output:TableWriter out = new TableWriter(new OutputStreamWriter(System.out), 3); out.write("Pr?nom\tNom\n"); out.nextLine('-'); out.write("Id?phonse\tLaporte\nSarah\tCoursi\nYvan\tDubois"); out.flush();
Pr?nom Nom --------- ------- Id?phonse Laporte Sarah Coursi Yvan Dubois
Field Summary | |
static int |
ALIGN_CENTER
A possible value for cell alignment. |
static int |
ALIGN_LEFT
A possible value for cell alignment. |
static int |
ALIGN_RIGHT
A possible value for cell alignment. |
Fields inherited from class java.io.FilterWriter |
out |
Fields inherited from class java.io.Writer |
lock |
Constructor Summary | |
TableWriter(java.io.Writer out)
Create a new table writer with a default column separator. |
|
TableWriter(java.io.Writer out,
int spaces)
Create a new table writer with the specified amount of spaces as column separator. |
|
TableWriter(java.io.Writer out,
java.lang.String separator)
Create a new table writer with the specified column separator. |
Method Summary | |
void |
close()
Flush the table content and close the underlying stream. |
void |
flush()
Flush the table content to the underlying stream. |
int |
getAlignment()
Returns the alignment for current and next cells. |
boolean |
isMultiLinesCells()
Tells if EOL characters are used for line feeds inside current cells. |
void |
nextColumn()
Moves one column to the right. |
void |
nextColumn(char fill)
Moves one column to the right. |
void |
nextLine()
Moves to the first column on the next row. |
void |
nextLine(char fill)
Moves to the first column on the next row. |
void |
setAlignment(int alignment)
Set the alignment for current and next cells. |
void |
setColumnAlignment(int column,
int alignment)
Set the alignment for all cells in the specified column. |
void |
setMultiLinesCells(boolean multiLines)
Set the desired behavior for EOL and tabulations characters. |
java.lang.String |
toString()
Returns the table content as a string. |
void |
write(char[] cbuf)
Write an array of characters. |
void |
write(char[] cbuf,
int offset,
int length)
Write a portion of an array of characters. |
void |
write(int c)
Write a single character. |
void |
write(java.lang.String string)
Write a string. |
void |
write(java.lang.String string,
int offset,
int length)
Write a portion of a string. |
void |
writeHorizontalSeparator()
Write an horizontal separator. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final int ALIGN_LEFT
public static final int ALIGN_RIGHT
public static final int ALIGN_CENTER
Constructor Detail |
public TableWriter(java.io.Writer out)
OutputStreamWriter(System.out, "Cp437")
).
To display the appropriate codepage for a Windows NT console,
type on the command line.
out
- Writer object to provide the underlying stream,
or if there is no underlying stream.
If is null, then the toString()
method is the only way to get the table's content.public TableWriter(java.io.Writer out, int spaces)
out
- Writer object to provide the underlying stream,
or if there is no underlying stream.
If is null, then the toString()
method is the only way to get the table's content.spaces
- Amount of white spaces to use as column separator.public TableWriter(java.io.Writer out, java.lang.String separator)
out
- Writer object to provide the underlying stream,
or if there is no underlying stream.
If is null, then the toString()
method is the only way to get the table's content.separator
- String to write between columns. Drawing box characters
are treated specially. For example " \\u2502 "
can be
used for a single-line box.Method Detail |
public void setMultiLinesCells(boolean multiLines)
'\r'
, '\n'
or
"\r\n"
) and tabulations ('\t'
) characters
are copied straight into the current cell, which mean that next write
operations will continue inside the same cell.nextColumn()
and nextLine()
calls respectively).
multiLines
- true if EOL are used for line feeds inside
current cells, or if EOL move to the next row.public boolean isMultiLinesCells()
public void setColumnAlignment(int column, int alignment)
column
- The 0-based column number.alignment
- Cell alignment. Must be ALIGN_LEFT
ALIGN_RIGHT
or ALIGN_CENTER
.public void setAlignment(int alignment)
ALIGN_LEFT
.
alignment
- Cell alignment. Must be ALIGN_LEFT
ALIGN_RIGHT
or ALIGN_CENTER
.public int getAlignment()
ALIGN_LEFT
(the default),
ALIGN_RIGHT
or ALIGN_CENTER
.public void write(int c)
isMultiLinesCells()
is false (which is the default), then:
'\t'
) are replaced
by nextColumn()
invocations.'\r'
, '\n'
or "\r\n"
) are replaced
by nextLine()
invocations.
c
- Character to write.public void write(java.lang.String string)
write(int)
.
string
- String to write.public void write(java.lang.String string, int offset, int length)
write(int)
.
string
- String to write.offset
- Offset from which to start writing characters.length
- Number of characters to write.public void write(char[] cbuf)
write(int)
.
cbuf
- Array of characters to be written.public void write(char[] cbuf, int offset, int length)
write(int)
.
cbuf
- Array of characters.offset
- Offset from which to start writing characters.length
- Number of characters to write.public void writeHorizontalSeparator()
public void nextColumn()
public void nextColumn(char fill)
nextColumn('*')
from the first character of a cell is
a convenient way to put a pad value in this cell.
fill
- Character filling the cell (default to whitespace).public void nextLine()
public void nextLine(char fill)
nextLine('-')
from the first column of a row is a convenient way to fill this row
with a line separator.
fill
- Character filling the rest of the line
(default to whitespace). This caracter may
be use as a row separator.public void flush() throws java.io.IOException
java.io.IOException
- if an output operation failed.public void close() throws java.io.IOException
java.io.IOException
- if an output operation failed.public java.lang.String toString()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |