com.lowagie.text.rtf
Class RtfCell

java.lang.Object
  extended bycom.lowagie.text.rtf.RtfCell

public class RtfCell
extends Object

A Helper Class for the RtfWriter.

Do not use it directly ONLY FOR USE WITH THE RtfWriter NOT with the RtfWriter2. Parts of this Class were contributed by Steffen Stundzig. Many thanks for the improvements. Updates by Benoit WIART


Field Summary
private static byte[] cellBackgroundColor
          Cell background color
private static byte[] cellBorderBottom
          Cell border bottom
private static byte[] cellBorderLeft
          Cell border left
private static byte[] cellBorderRight
          Cell border right
private static byte[] cellBorderTop
          Cell border top
private static byte[] cellEnd
          End of cell
protected static byte[] cellInTable
          Cell is part of table
private static byte[] cellMergeFirst
          First cell to merge with - Horizontal
private static byte[] cellMergePrev
          Merge cell with previous horizontal cell
private  int cellpadding
          cell padding, because the table only renders the left and right cell padding and not the top and bottom one
private static byte[] cellPaddingBottom
          padding bottom
private static byte[] cellPaddingBottomUnit
          padding bottom unit
private static byte[] cellPaddingLeft
          padding left
private static byte[] cellPaddingLeftUnit
          padding left unit
private static byte[] cellPaddingRight
          padding right
private static byte[] cellPaddingRightUnit
          padding right unit
private static byte[] cellPaddingTop
          padding top
private static byte[] cellPaddingTopUnit
          padding top unit
private  int cellRight
          Cell right border position
private static byte[] cellRightBorder
          Cell right border position
private static byte[] cellVerticalAlignBottom
          Cell content vertical alignment bottom
private static byte[] cellVerticalAlignCenter
          Cell content vertical alignment center
private static byte[] cellVerticalAlignTop
          Cell content vertical alignment top
private static byte[] cellVMergeFirst
          First cell to merge with - Vertical
private static byte[] cellVMergePrev
          Merge cell with previous vertical cell
private  int cellWidth
          Cell width
private static byte[] cellWidthStyle
          Cell width format
private static byte[] cellWidthTag
          Cell width
private  boolean emptyCell
          Is this an empty cell
private  RtfTable mainTable
          The RtfTable to which this RtfCell belongs.
private static int MERGE_BOTH_FIRST
          A possible value for merging
private static int MERGE_BOTH_PREV
          A possible value for merging
private static int MERGE_HORIZ_FIRST
          A possible value for merging
private static int MERGE_HORIZ_PREV
          A possible value for merging
private static int MERGE_VERT_FIRST
          A possible value for merging
private static int MERGE_VERT_PREV
          A possible value for merging
private  int mergeType
          Type of merging to do
private  Cell store
          Cell containing the actual data
private  RtfWriter writer
          The RtfWriter to which this RtfCell belongs.
 
Constructor Summary
RtfCell(RtfWriter writer, RtfTable mainTable)
          Create a new RtfCell.
 
Method Summary
 int getCellRight()
          Get the position of the right border of this RtfCell.
 int getCellWidth()
          Get the with of this RtfCell
 Cell getStore()
          Get the Cell with the actual content.
 int importCell(Cell cell, int cellLeft, int cellWidth, int x, int y, int cellpadding)
          Import a Cell.
 void setCellRight(int value)
          Sets the right position of the cell
 void setCellWidth(int value)
          sets the width of the cell
 void setMerge(int mergeType, RtfCell mergeCell)
          Sets the merge type and the RtfCell with which this RtfCell is to be merged.
 boolean writeCellContent(ByteArrayOutputStream os)
          Write the content of the RtfCell.
 boolean writeCellSettings(ByteArrayOutputStream os)
          Write the properties of the RtfCell.
private  void writeInt(ByteArrayOutputStream out, int i)
          Write an Integer to the Outputstream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MERGE_HORIZ_FIRST

private static final int MERGE_HORIZ_FIRST
A possible value for merging

See Also:
Constant Field Values

MERGE_VERT_FIRST

private static final int MERGE_VERT_FIRST
A possible value for merging

See Also:
Constant Field Values

MERGE_BOTH_FIRST

private static final int MERGE_BOTH_FIRST
A possible value for merging

See Also:
Constant Field Values

MERGE_HORIZ_PREV

private static final int MERGE_HORIZ_PREV
A possible value for merging

See Also:
Constant Field Values

MERGE_VERT_PREV

private static final int MERGE_VERT_PREV
A possible value for merging

See Also:
Constant Field Values

MERGE_BOTH_PREV

private static final int MERGE_BOTH_PREV
A possible value for merging

See Also:
Constant Field Values

cellMergeFirst

private static final byte[] cellMergeFirst
First cell to merge with - Horizontal


cellVMergeFirst

private static final byte[] cellVMergeFirst
First cell to merge with - Vertical


cellMergePrev

private static final byte[] cellMergePrev
Merge cell with previous horizontal cell


cellVMergePrev

private static final byte[] cellVMergePrev
Merge cell with previous vertical cell


cellVerticalAlignBottom

private static final byte[] cellVerticalAlignBottom
Cell content vertical alignment bottom


cellVerticalAlignCenter

private static final byte[] cellVerticalAlignCenter
Cell content vertical alignment center


cellVerticalAlignTop

private static final byte[] cellVerticalAlignTop
Cell content vertical alignment top


cellBorderLeft

private static final byte[] cellBorderLeft
Cell border left


cellBorderRight

private static final byte[] cellBorderRight
Cell border right


cellBorderTop

private static final byte[] cellBorderTop
Cell border top


cellBorderBottom

private static final byte[] cellBorderBottom
Cell border bottom


cellBackgroundColor

private static final byte[] cellBackgroundColor
Cell background color


cellWidthStyle

private static final byte[] cellWidthStyle
Cell width format


cellWidthTag

private static final byte[] cellWidthTag
Cell width


cellRightBorder

private static final byte[] cellRightBorder
Cell right border position


cellInTable

protected static final byte[] cellInTable
Cell is part of table


cellEnd

private static final byte[] cellEnd
End of cell


cellPaddingTop

private static final byte[] cellPaddingTop
padding top


cellPaddingTopUnit

private static final byte[] cellPaddingTopUnit
padding top unit


cellPaddingBottom

private static final byte[] cellPaddingBottom
padding bottom


cellPaddingBottomUnit

private static final byte[] cellPaddingBottomUnit
padding bottom unit


cellPaddingLeft

private static final byte[] cellPaddingLeft
padding left


cellPaddingLeftUnit

private static final byte[] cellPaddingLeftUnit
padding left unit


cellPaddingRight

private static final byte[] cellPaddingRight
padding right


cellPaddingRightUnit

private static final byte[] cellPaddingRightUnit
padding right unit


writer

private RtfWriter writer
The RtfWriter to which this RtfCell belongs.


mainTable

private RtfTable mainTable
The RtfTable to which this RtfCell belongs.


cellWidth

private int cellWidth
Cell width


cellRight

private int cellRight
Cell right border position


store

private Cell store
Cell containing the actual data


emptyCell

private boolean emptyCell
Is this an empty cell


mergeType

private int mergeType
Type of merging to do


cellpadding

private int cellpadding
cell padding, because the table only renders the left and right cell padding and not the top and bottom one

Constructor Detail

RtfCell

public RtfCell(RtfWriter writer,
               RtfTable mainTable)
Create a new RtfCell.

Parameters:
writer - The RtfWriter that this RtfCell belongs to
mainTable - The RtfTable that created the RtfRow that created the RtfCell :-)
Method Detail

importCell

public int importCell(Cell cell,
                      int cellLeft,
                      int cellWidth,
                      int x,
                      int y,
                      int cellpadding)
Import a Cell.

Parameters:
cell - The Cell containing the data for this RtfCell
cellLeft - The position of the left border
cellWidth - The default width of a cell
x - The column index of this RtfCell
y - The row index of this RtfCell
cellpadding - the cellpadding
Returns:
the position of the right side of the cell

writeCellSettings

public boolean writeCellSettings(ByteArrayOutputStream os)
                          throws DocumentException
Write the properties of the RtfCell.

Parameters:
os - The OutputStream to which to write the properties of the RtfCell to.
Returns:
true if writing the cell settings succeeded
Throws:
DocumentException

writeCellContent

public boolean writeCellContent(ByteArrayOutputStream os)
                         throws DocumentException
Write the content of the RtfCell.

Parameters:
os - The OutputStream to which to write the content of the RtfCell to.
Returns:
true if writing the cell content succeeded
Throws:
DocumentException

setMerge

public void setMerge(int mergeType,
                     RtfCell mergeCell)
Sets the merge type and the RtfCell with which this RtfCell is to be merged.

Parameters:
mergeType - The merge type specifies the kind of merge to be applied (MERGE_HORIZ_PREV, MERGE_VERT_PREV, MERGE_BOTH_PREV)
mergeCell - The RtfCell that the cell at x and y is to be merged with

getStore

public Cell getStore()
Get the Cell with the actual content.

Returns:
Cell which is contained in the RtfCell

getCellWidth

public int getCellWidth()
Get the with of this RtfCell

Returns:
Width of the current RtfCell

setCellWidth

public void setCellWidth(int value)
sets the width of the cell

Parameters:
value - a width

getCellRight

public int getCellRight()
Get the position of the right border of this RtfCell.

Returns:
position of the right border

setCellRight

public void setCellRight(int value)
Sets the right position of the cell

Parameters:
value - a cell position

writeInt

private void writeInt(ByteArrayOutputStream out,
                      int i)
               throws IOException
Write an Integer to the Outputstream.

Parameters:
out - The OutputStream to be written to.
i - The int to be written.
Throws:
IOException