## com.lowagie.text
Class Cell

    java.lang.Object
      com.lowagie.text.Rectangle
          com.lowagie.text.Cell

All Implemented Interfaces:
  Element, MarkupAttributes, TextElementArray

Direct Known Subclasses:
  RtfCell, RtfTableCell

    public class Cell

extends Rectangle
implements TextElementArray

A `Cell` is a `Rectangle` containing other `Element`s.

A `Cell` must be added to a `Table`. The `Table` will place the `Cell` in a `Row`.

Example:

>      Table table = new Table(3);
>      table.setBorderWidth(1);
>      table.setBorderColor(new Color(0, 0, 255));
>      table.setCellpadding(5);
>      table.setCellspacing(5);
>      Cell cell = new Cell("header");
>      cell.setHeader(true);
>      cell.setColspan(3);
>      table.addCell(cell);
>      cell = new Cell("example cell with colspan 1 and rowspan 2");
>      cell.setRowspan(2);
>      cell.setBorderColor(new Color(255, 0, 0));
>      table.addCell(cell);
>      table.addCell("1.1");
>      table.addCell("2.1");
>      table.addCell("1.2");
>      table.addCell("2.2");

See Also:
  `Rectangle`, `Element`, `Table`, `Row`

Field Summary
`protected java.util.ArrayList` `arrayList` This is the `ArrayList` of `Element`s.
`protected int` `colspan` This is the colspan.
`protected boolean` `groupChange` Does this `Cell` force a group change?
`protected boolean` `header` Is this `Cell` a header?
`protected int` `horizontalAlignment` This is the horizontal alignment.
`(package private) float` `leading` This is the leading.
`protected int` `maxLines` Maximum number of lines allowed in the cell.
`protected int` `rowspan` This is the rowspan.
`(package private) java.lang.String` `showTruncation` If a truncation happens due to the `maxLines` property, then this text will be added to indicate a truncation has happened.
`protected boolean` `useAscender` Indicates that the largest ascender height should be used to determine the height of the first line.
`protected boolean` `useBorderPadding` Adjusts the cell contents to compensate for border widths.
`protected boolean` `useDescender` Indicates that the largest descender height should be added to the height of the last line (so characters like y don't dip into the border).
`protected int` `verticalAlignment` This is the vertical alignment.
`protected java.lang.String` `width` This is the vertical alignment.

Fields inherited from class com.lowagie.text.Rectangle
`background, border, borderColorBottom, borderColorLeft, borderColorRight, borderColorTop, borderWidth, borderWidthBottom, borderWidthLeft, borderWidthRight, borderWidthTop, BOTTOM, BOX, color, LEFT, llx, lly, markupAttributes, NO_BORDER, RIGHT, rotation, TOP, UNDEFINED, urx, ury, useVariableBorders`

Fields inherited from interface com.lowagie.text.Element

`ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_JUSTIFIED, ALIGN_JUSTIFIED_ALL, ALIGN_LEFT, ALIGN_MIDDLE, ALIGN_RIGHT, ALIGN_TOP, ALIGN_UNDEFINED, ANCHOR, ANNOTATION, AUTHOR, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CCITTG3_1D, CCITTG3_2D, CCITTG4, CELL, CHAPTER, CHUNK, CREATIONDATE, CREATOR, GRAPHIC, HEADER, IMGRAW, IMGTEMPLATE, JPEG, KEYWORDS, LIST, LISTITEM, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE`

Constructor Summary
`Cell()` Constructs an empty `Cell`.
`Cell(boolean dummy)` Constructs an empty `Cell` (for internal use only).
`Cell(Element element)` Constructs a `Cell` with a certain `Element`.
`Cell(java.util.Properties attributes)` Returns a `Cell` that has been constructed taking in account the value of some attributes.
`Cell(java.lang.String content)` Constructs a `Cell` with a certain content.

Method Summary
`boolean` `add(java.lang.Object o)` Add an `Object` to this cell.
`void` `addElement(Element element)` Adds an element to this `Cell`.
`float` `bottom()` This method throws an `UnsupportedOperationException`.
`float` `bottom(int margin)` This method throws an `UnsupportedOperationException`.
`java.lang.String` `cellWidth()` Gets the width.
`void` `clear()` Clears all the `Element`s of this `Cell`.
`int` `colspan()` Gets the colspan.
`PdfPCell` `createPdfPCell()` Creates a PdfPCell based on this Cell object.
`(package private) void` `fill()` Makes sure there is at least 1 object in the Cell.
`java.util.ArrayList` `getChunks()` Gets all the chunks in this element.
`static Cell` `getDummyCell()` Get dummy cell used when merging inner tables.
`java.util.Iterator` `getElements()` Gets an iterator of `Element`s.
`boolean` `getGroupChange()` Does this `Cell` force a group change?
`int` `getMaxLines()` Getter for `maxLines`
`java.lang.String` `getShowTruncation()` Getter for `showTruncation`
`boolean` `header()` Is this `Cell` a header?
`int` `horizontalAlignment()` Gets the horizontal alignment.
`boolean` `isEmpty()` Checks if the `Cell` is empty.
`boolean` `isTable()` Checks if the `Cell` is empty.
`static boolean` `isTag(java.lang.String tag)` Checks if a given tag corresponds with this object.
`boolean` `isUseAscender()` Gets the value of `useAscender`
`boolean` `isUseBorderPadding()` Gets the value of `useBorderPadding`.
`boolean` `isUseDescender()` gets the value of `useDescender`
`float` `leading()` Gets the leading.
`float` `left()` This method throws an `UnsupportedOperationException`.
`float` `left(int margin)` This method throws an `UnsupportedOperationException`.
`boolean` `noWrap()` Get nowrap.
`boolean` `process(ElementListener listener)` Processes the element by adding it (or the different parts) to an `ElementListener`.
`float` `right()` This method throws an `UnsupportedOperationException`.
`float` `right(int margin)` This method throws an `UnsupportedOperationException`.
`int` `rowspan()` Gets the rowspan.
`void` `setBottom(int value)` This method throws an `UnsupportedOperationException`.
`void` `setColspan(int value)` Sets the colspan.
`void` `setGroupChange(boolean value)` Sets group change.
`void` `setHeader(boolean value)` Sets header.
`void` `setHorizontalAlignment(int value)` Sets the horizontal alignment.
`void` `setHorizontalAlignment(java.lang.String alignment)` Sets the alignment of this cell.
`void` `setLeading(float value)` Sets the leading.
`void` `setLeft(int value)` This method throws an `UnsupportedOperationException`.
`void` `setMaxLines(int value)` Setter for `maxLines`
`void` `setNoWrap(boolean value)` Set nowrap.
`void` `setRight(int value)` This method throws an `UnsupportedOperationException`.
`void` `setRowspan(int value)` Sets the rowspan.
`void` `setShowTruncation(java.lang.String value)` Setter for `showTruncation`
`void` `setTop(int value)` This method throws an `UnsupportedOperationException`.
`void` `setUseAscender(boolean use)` Sets the value of `useAscender`.
`void` `setUseBorderPadding(boolean use)` Sets the value of `useBorderPadding`.
`void` `setUseDescender(boolean use)` Sets the value of `useDescender`.
`void` `setVerticalAlignment(int value)` Sets the vertical alignment.
`void` `setVerticalAlignment(java.lang.String alignment)` Sets the alignment of this paragraph.
`void` `setWidth(java.lang.String value)` Sets the width.
`int` `size()` Gets the number of `Element`s in the Cell.
`float` `top()` This method throws an `UnsupportedOperationException`.
`float` `top(int margin)` This method throws an `UnsupportedOperationException`.
`int` `type()` Gets the type of the text element.
`int` `verticalAlignment()` Gets the vertical alignment.

Methods inherited from class com.lowagie.text.Rectangle

`backgroundColor, border, borderColor, borderWidth, bottom, cloneNonPositionParameters, disableBorderSide, enableBorderSide, getBorderColorBottom, getBorderColorLeft, getBorderColorRight, getBorderColorTop, getBorderWidthBottom, getBorderWidthLeft, getBorderWidthRight, getBorderWidthTop, getMarkupAttribute, getMarkupAttributeNames, getMarkupAttributes, getRotation, grayFill, hasBorder, hasBorders, height, isUseVariableBorders, left, normalize, rectangle, right, rotate, setBackgroundColor, setBorder, setBorderColor, setBorderColorBottom, setBorderColorLeft, setBorderColorRight, setBorderColorTop, setBorderWidth, setBorderWidthBottom, setBorderWidthLeft, setBorderWidthRight, setBorderWidthTop, setBottom, setGrayFill, setLeft, setMarkupAttribute, setMarkupAttributes, setRight, setTop, setUseVariableBorders, softCloneNonPositionParameters, top, toString, width`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface com.lowagie.text.Element
`toString`

Field Detail

### arrayList

    protected java.util.ArrayList arrayList

  This is the `ArrayList` of `Element`s.

### horizontalAlignment

    protected int horizontalAlignment

  This is the horizontal alignment.

### verticalAlignment

    protected int verticalAlignment

  This is the vertical alignment.

### width

    protected java.lang.String width

  This is the vertical alignment.

### colspan

    protected int colspan

  This is the colspan.

### rowspan

    protected int rowspan

  This is the rowspan.

### leading

    float leading

  This is the leading.

### header

    protected boolean header

  Is this `Cell` a header?

### useAscender

    protected boolean useAscender

  Indicates that the largest ascender height should be used to determine the height of the first line. Note that this only has an effect when rendered to PDF. Setting this to true can help with vertical alignment problems.

### useDescender

    protected boolean useDescender

  Indicates that the largest descender height should be added to the height of the last line (so characters like y don't dip into the border). Note that this only has an effect when rendered to PDF.

### useBorderPadding

    protected boolean useBorderPadding

  Adjusts the cell contents to compensate for border widths. Note that this only has an effect when rendered to PDF.

### groupChange

    protected boolean groupChange

  Does this `Cell` force a group change?

### maxLines

    protected int maxLines

  Maximum number of lines allowed in the cell. The default value of this property is not to limit the maximum number of lines (contributed by dperezcar@fcc.es)

### showTruncation

    java.lang.String showTruncation

  If a truncation happens due to the `maxLines` property, then this text will be added to indicate a truncation has happened. Default value is null, and means avoiding marking the truncation. A useful value of this property could be e.g. "..." (contributed by dperezcar@fcc.es)

Constructor Detail

### Cell

    public Cell()

  Constructs an empty `Cell`.

### Cell

    public Cell(boolean dummy)

  Constructs an empty `Cell` (for internal use only).

  Parameters:
    `dummy` - a dummy value

### Cell

    public Cell(java.lang.String content)

  Constructs a `Cell` with a certain content.

  The `String` will be converted into a `Paragraph`.

  Parameters:
    `content` - a `String`

### Cell

    public Cell(Element element)
         throws BadElementException

  Constructs a `Cell` with a certain `Element`.

  if the element is a `ListItem`, `Row` or `Cell`, an exception will be thrown.

  Parameters:
    `element` - the element
  Throws:
    `BadElementException` - when the creator was called with a `ListItem`, `Row` or `Cell`

### Cell

    public Cell(java.util.Properties attributes)

  Returns a `Cell` that has been constructed taking in account the value of some attributes.

  Parameters:
    `attributes` - Some attributes

Method Detail

### getDummyCell

    public static Cell getDummyCell()

  Get dummy cell used when merging inner tables.

  Returns:
    a cell with colspan 3 and no border

### process

    public boolean process(ElementListener listener)

  Processes the element by adding it (or the different parts) to an `ElementListener`.

  Specified by:
    `process` in interface `Element`
  Overrides:
    `process` in class `Rectangle`
  Parameters:
    `listener` - an `ElementListener`
  Returns:
    `true` if the element was processed successfully

### type

    public int type()

  Gets the type of the text element.

  Specified by:
    `type` in interface `Element`
  Overrides:
    `type` in class `Rectangle`
  Returns:
    a type

### getChunks

    public java.util.ArrayList getChunks()

  Gets all the chunks in this element.

  Specified by:
    `getChunks` in interface `Element`
  Overrides:
    `getChunks` in class `Rectangle`
  Returns:
    an `ArrayList`

### addElement

    public void addElement(Element element)
                    throws BadElementException

  Adds an element to this `Cell`.

  Remark: you can't add `ListItem`s, `Row`s, `Cell`s, `JPEG`s, `GIF`s or `PNG`s to a `Cell`.

  Parameters:
    `element` - The `Element` to add
  Throws:
    `BadElementException` - if the method was called with a `ListItem`, `Row` or `Cell`

### add

    public boolean add(java.lang.Object o)

  Add an `Object` to this cell.

  Specified by:
    `add` in interface `TextElementArray`
  Parameters:
    `o` - the object to add
  Returns:
    always `true`

### setLeading

    public void setLeading(float value)

  Sets the leading.

  Parameters:
    `value` - the new value

### setHorizontalAlignment

    public void setHorizontalAlignment(int value)

  Sets the horizontal alignment.

  Parameters:
    `value` - the new value

### setHorizontalAlignment

    public void setHorizontalAlignment(java.lang.String alignment)

  Sets the alignment of this cell.

  Parameters:
    `alignment` - the new alignment as a `String`

### setVerticalAlignment

    public void setVerticalAlignment(int value)

  Sets the vertical alignment.

  Parameters:
    `value` - the new value

### setVerticalAlignment

    public void setVerticalAlignment(java.lang.String alignment)

  Sets the alignment of this paragraph.

  Parameters:
    `alignment` - the new alignment as a `String`

### setWidth

    public void setWidth(java.lang.String value)

  Sets the width.

  Parameters:
    `value` - the new value

### setColspan

    public void setColspan(int value)

  Sets the colspan.

  Parameters:
    `value` - the new value

### setRowspan

    public void setRowspan(int value)

  Sets the rowspan.

  Parameters:
    `value` - the new value

### setHeader

    public void setHeader(boolean value)

  Sets header.

  Parameters:
    `value` - the new value

### setNoWrap

    public void setNoWrap(boolean value)

  Set nowrap.

  Parameters:
    `value` - the new value

### size

    public int size()

  Gets the number of `Element`s in the Cell.

  Returns:
    a `size`.

### isEmpty

    public boolean isEmpty()

  Checks if the `Cell` is empty.

  Returns:
    `false` if there are non-empty `Element`s in the `Cell`.

### fill

    void fill()

  Makes sure there is at least 1 object in the Cell. Otherwise it might not be shown in the table.

### isTable

    public boolean isTable()

  Checks if the `Cell` is empty.

  Returns:
    `false` if there are non-empty `Element`s in the `Cell`.

### getElements

    public java.util.Iterator getElements()

  Gets an iterator of `Element`s.

  Returns:
    an `Iterator`.

### horizontalAlignment

    public int horizontalAlignment()

  Gets the horizontal alignment.

  Returns:
    a value

### verticalAlignment

    public int verticalAlignment()

  Gets the vertical alignment.

  Returns:
    a value

### cellWidth

    public java.lang.String cellWidth()

  Gets the width.

  Returns:
    a value

### colspan

    public int colspan()

  Gets the colspan.

  Returns:
    a value

### rowspan

    public int rowspan()

  Gets the rowspan.

  Returns:
    a value

### leading

    public float leading()

  Gets the leading.

  Returns:
    a value

### header

    public boolean header()

  Is this `Cell` a header?

  Returns:
    a value

### noWrap

    public boolean noWrap()

  Get nowrap.

  Returns:
    a value

### clear

    public void clear()

  Clears all the `Element`s of this `Cell`.

### top

    public float top()

  This method throws an `UnsupportedOperationException`.

  Overrides:
    `top` in class `Rectangle`
  Returns:
    NA

### bottom

    public float bottom()

  This method throws an `UnsupportedOperationException`.

  Overrides:
    `bottom` in class `Rectangle`
  Returns:
    NA

### left

    public float left()

  This method throws an `UnsupportedOperationException`.

  Overrides:
    `left` in class `Rectangle`
  Returns:
    NA

### right

    public float right()

  This method throws an `UnsupportedOperationException`.

  Overrides:
    `right` in class `Rectangle`
  Returns:
    NA

### top

    public float top(int margin)

  This method throws an `UnsupportedOperationException`.

  Parameters:
    `margin` -
  Returns:
    NA

### bottom

    public float bottom(int margin)

  This method throws an `UnsupportedOperationException`.

  Parameters:
    `margin` -
  Returns:
    NA

### left

    public float left(int margin)

  This method throws an `UnsupportedOperationException`.

  Parameters:
    `margin` -
  Returns:
    NA

### right

    public float right(int margin)

  This method throws an `UnsupportedOperationException`.

  Parameters:
    `margin` - NA
  Returns:
    NA

### setTop

    public void setTop(int value)

  This method throws an `UnsupportedOperationException`.

  Parameters:
    `value` - NA

### setBottom

    public void setBottom(int value)

  This method throws an `UnsupportedOperationException`.

  Parameters:
    `value` - NA

### setLeft

    public void setLeft(int value)

  This method throws an `UnsupportedOperationException`.

  Parameters:
    `value` - NA

### setRight

    public void setRight(int value)

  This method throws an `UnsupportedOperationException`.

  Parameters:
    `value` - NA

### isTag

    public static boolean isTag(java.lang.String tag)

  Checks if a given tag corresponds with this object.

  Parameters:
    `tag` - the given tag
  Returns:
    true if the tag corresponds

### getGroupChange

    public boolean getGroupChange()

  Does this `Cell` force a group change?

  Returns:
    a value

### setGroupChange

    public void setGroupChange(boolean value)

  Sets group change.

  Parameters:
    `value` - the new value

### getMaxLines

    public int getMaxLines()

  Getter for `maxLines`

  Returns:
    the maxLines value

### setMaxLines

    public void setMaxLines(int value)

  Setter for `maxLines`

  Parameters:
    `value` - the maximum number of lines

### setShowTruncation

    public void setShowTruncation(java.lang.String value)

  Setter for `showTruncation`

  Parameters:
    `value` - Can be null for avoiding marking the truncation.

### getShowTruncation

    public java.lang.String getShowTruncation()

  Getter for `showTruncation`

  Returns:
    the showTruncation value

### setUseAscender

    public void setUseAscender(boolean use)

  Sets the value of `useAscender`.

  Parameters:
    `use` - use ascender height if true

### isUseAscender

    public boolean isUseAscender()

  Gets the value of `useAscender`

  Returns:
    useAscender

### setUseDescender

    public void setUseDescender(boolean use)

  Sets the value of `useDescender`.

  Parameters:
    `use` - use descender height if true

### isUseDescender

    public boolean isUseDescender()

  gets the value of `useDescender`

  Returns:
    useDescender

### setUseBorderPadding

    public void setUseBorderPadding(boolean use)

  Sets the value of `useBorderPadding`.

  Parameters:
    `use` - adjust layour for borders if true

### isUseBorderPadding

    public boolean isUseBorderPadding()

  Gets the value of `useBorderPadding`.

  Returns:
    useBorderPadding

### createPdfPCell

    public PdfPCell createPdfPCell()
                            throws BadElementException

  Creates a PdfPCell based on this Cell object.

  Returns:
    a PdfPCell
  Throws:
    `BadElementException`