com.lowagie.text.rtf
Class RtfRow

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

public class RtfRow
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. Code added by c


Field Summary
private  Color borderColor
          The border color of this RtfRow
private  int borders
          The borders of this RtfRow
private  float borderWidth
          The border width of this RtfRow
private  int cellpadding
          The default cellpadding of RtfCells in this RtfRow
private  ArrayList cells
          List of RtfCells in this RtfRow
private  int cellspacing
          The default cellspacing of RtfCells in this RtfRow
private static byte[] graphLeft
           
private  RtfTable mainTable
          The RtfTable to which this RtfRow belongs
private  Row origRow
          Original Row
private static byte[] rowAlignCenter
          Table alignment center
private static byte[] rowAlignLeft
          Table alignment left
private static byte[] rowAlignRight
          Table alignment right
private static byte[] rowAutofit
          Table row autofit
private static byte[] rowBegin
          Table row defaults
private static byte[] rowBorderBottom
          Row border bottom
private static byte[] rowBorderInlineHorizontal
          Row border horiz inline
private static byte[] rowBorderInlineVertical
          Row border bottom
private static byte[] rowBorderLeft
          Row border left
private static byte[] rowBorderRight
          Row border right
private static byte[] rowBorderTop
          Row border top
private static byte[] rowEnd
          End of table row
private static byte[] rowHeader
          Table row header.
private static byte[] rowKeep
          Table row keep together.
private static byte[] rowPaddingLeft
          Default cell padding left
private static byte[] rowPaddingLeftStyle
          Default cell padding format left
private static byte[] rowPaddingRight
          Default cell padding right
private static byte[] rowPaddingRightStyle
          Default cell padding format right
private static byte[] rowSpacingBottom
          Default cell spacing bottom
private static byte[] rowSpacingBottomStyle
          Default cell spacing format bottom
private static byte[] rowSpacingLeft
          Default cell spacing left
private static byte[] rowSpacingLeftStyle
          Default cell spacing format left
private static byte[] rowSpacingRight
          Default cell spacing right
private static byte[] rowSpacingRightStyle
          Default cell spacing format right
private static byte[] rowSpacingTop
          Default cell spacing top
private static byte[] rowSpacingTopStyle
          Default cell spacing format top
private static byte[] rowWidth
          Row width
private static byte[] rowWidthStyle
          Row width format
static byte[] tableBorder
          Table border solid
static byte[] tableBorderColor
          Table border color
static byte[] tableBorderWidth
          Table border width
private  int width
          The width of this RtfRow (in percent)
private  RtfWriter writer
          The RtfWriter to which this RtfRow belongs
 
Constructor Summary
RtfRow(RtfWriter writer, RtfTable mainTable)
          Create a new RtfRow.
 
Method Summary
 boolean importRow(Row row, float[] propWidths, int tableWidth, int pageWidth, int cellpadding, int cellspacing, int borders, Color borderColor, float borderWidth, int y)
          Import a Row.
 void pregenerateRows(int columns)
          Pregenerate the RtfCells in this RtfRow.
 void setMerge(int x, int mergeType, RtfCell mergeCell)
          RtfTables call this method from their own setMerge() to specify that a certain other cell is to be merged with it.
private  void writeBorder(ByteArrayOutputStream os, byte[] borderType)
           
private  void writeInt(ByteArrayOutputStream out, int i)
           
 boolean writeRow(ByteArrayOutputStream os, int rowNum, Table table)
          Write the RtfRow to the specified OutputStream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tableBorder

public static final byte[] tableBorder
Table border solid


tableBorderWidth

public static final byte[] tableBorderWidth
Table border width


tableBorderColor

public static final byte[] tableBorderColor
Table border color


rowBegin

private static final byte[] rowBegin
Table row defaults


rowEnd

private static final byte[] rowEnd
End of table row


rowAutofit

private static final byte[] rowAutofit
Table row autofit


graphLeft

private static final byte[] graphLeft

rowBorderLeft

private static final byte[] rowBorderLeft
Row border left


rowBorderRight

private static final byte[] rowBorderRight
Row border right


rowBorderTop

private static final byte[] rowBorderTop
Row border top


rowBorderBottom

private static final byte[] rowBorderBottom
Row border bottom


rowBorderInlineHorizontal

private static final byte[] rowBorderInlineHorizontal
Row border horiz inline


rowBorderInlineVertical

private static final byte[] rowBorderInlineVertical
Row border bottom


rowSpacingLeft

private static final byte[] rowSpacingLeft
Default cell spacing left


rowSpacingRight

private static final byte[] rowSpacingRight
Default cell spacing right


rowSpacingTop

private static final byte[] rowSpacingTop
Default cell spacing top


rowSpacingBottom

private static final byte[] rowSpacingBottom
Default cell spacing bottom


rowSpacingLeftStyle

private static final byte[] rowSpacingLeftStyle
Default cell spacing format left


rowSpacingRightStyle

private static final byte[] rowSpacingRightStyle
Default cell spacing format right


rowSpacingTopStyle

private static final byte[] rowSpacingTopStyle
Default cell spacing format top


rowSpacingBottomStyle

private static final byte[] rowSpacingBottomStyle
Default cell spacing format bottom


rowPaddingLeft

private static final byte[] rowPaddingLeft
Default cell padding left


rowPaddingRight

private static final byte[] rowPaddingRight
Default cell padding right


rowPaddingLeftStyle

private static final byte[] rowPaddingLeftStyle
Default cell padding format left


rowPaddingRightStyle

private static final byte[] rowPaddingRightStyle
Default cell padding format right


rowWidthStyle

private static final byte[] rowWidthStyle
Row width format


rowWidth

private static final byte[] rowWidth
Row width


rowHeader

private static final byte[] rowHeader
Table row header. This row should appear at the top of every page the current table appears on.


rowKeep

private static final byte[] rowKeep
Table row keep together. This row cannot be split by a page break. This property is assumed to be off unless the control word is present.


rowAlignLeft

private static final byte[] rowAlignLeft
Table alignment left


rowAlignCenter

private static final byte[] rowAlignCenter
Table alignment center


rowAlignRight

private static final byte[] rowAlignRight
Table alignment right


cells

private ArrayList cells
List of RtfCells in this RtfRow


writer

private RtfWriter writer
The RtfWriter to which this RtfRow belongs


mainTable

private RtfTable mainTable
The RtfTable to which this RtfRow belongs


width

private int width
The width of this RtfRow (in percent)


cellpadding

private int cellpadding
The default cellpadding of RtfCells in this RtfRow


cellspacing

private int cellspacing
The default cellspacing of RtfCells in this RtfRow


borders

private int borders
The borders of this RtfRow


borderColor

private Color borderColor
The border color of this RtfRow


borderWidth

private float borderWidth
The border width of this RtfRow


origRow

private Row origRow
Original Row

Constructor Detail

RtfRow

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

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

pregenerateRows

public void pregenerateRows(int columns)
Pregenerate the RtfCells in this RtfRow.

Parameters:
columns - The number of RtfCells to be generated.

importRow

public boolean importRow(Row row,
                         float[] propWidths,
                         int tableWidth,
                         int pageWidth,
                         int cellpadding,
                         int cellspacing,
                         int borders,
                         Color borderColor,
                         float borderWidth,
                         int y)
Import a Row.

All the parameters are taken from the RtfTable which contains this RtfRow and they do exactely what they say

Parameters:
row -
propWidths - in percent
tableWidth - in percent
pageWidth -
cellpadding -
cellspacing -
borders -
borderColor -
borderWidth -
y -
Returns:
true if importing the row succeeded

writeRow

public boolean writeRow(ByteArrayOutputStream os,
                        int rowNum,
                        Table table)
                 throws DocumentException,
                        IOException
Write the RtfRow to the specified OutputStream.

Parameters:
os - The OutputStream to which this RtfRow should be written to.
rowNum - The index of this row in the containing table.
table - The Table which contains the original Row.
Returns:
true if writing the row succeeded
Throws:
DocumentException
IOException

writeBorder

private void writeBorder(ByteArrayOutputStream os,
                         byte[] borderType)
                  throws IOException
Throws:
IOException

setMerge

public void setMerge(int x,
                     int mergeType,
                     RtfCell mergeCell)
RtfTables call this method from their own setMerge() to specify that a certain other cell is to be merged with it.

Parameters:
x - The column position of the cell to be merged
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

writeInt

private void writeInt(ByteArrayOutputStream out,
                      int i)
               throws IOException
Throws:
IOException