com.lowagie.text

## Class Row

- java.lang.Object
- - com.lowagie.text.Row

- All Implemented Interfaces:
    Element

      public class Row
      extends java.lang.Object
      implements Element

  A `Row` is part of a `Table` and contains some `Cells`.

  All `Row`s are constructed by a `Table`-object. You don't have to construct any `Row` yourself. In fact you can't construct a `Row` outside the package.

  Since a `Cell` can span several rows and/or columns a row can contain reserved space without any content.

  See Also:
    `Element`, `Cell`, `Table`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `CELL` id of the Cell element in a Row
    `protected java.lang.Object[]` | `cells` This is the array of Objects (`Cell` or `Table`).
    `protected int` | `columns` This is the number of columns in the `Row`.
    `protected int` | `currentColumn` This is a valid position the `Row`.
    `protected int` | `horizontalAlignment` This is the vertical alignment.
    `static int` | `NULL` id of a null element in a Row
    `protected boolean[]` | `reserved` This is the array that keeps track of reserved cells.
    `static int` | `TABLE` id of the Table element in a Row

    - ### 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, CHAPTER, CHUNK, CREATIONDATE, CREATOR, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TITLE, YMARK`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Row(int columns)` Constructs a `Row` with a certain number of columns.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) int` | `addElement(java.lang.Object element)` Adds a `Cell` to the `Row`.
    `(package private) int` | `addElement(java.lang.Object element, int column)` Adds an element to the `Row` at the position given.
    `(package private) void` | `deleteColumn(int column)` Returns a `Row` that is a copy of this `Row` in which a certain column has been deleted.
    `java.lang.Object` | `getCell(int column)` Gets a `Cell` or `Table` from a certain column.
    `java.util.ArrayList` | `getChunks()` Gets all the chunks in this element.
    `int` | `getColumns()` Gets the number of columns.
    `(package private) int` | `getElementID(int column)` Returns the type-id of the element in a Row.
    `int` | `getHorizontalAlignment()` Gets the horizontal alignment.
    `(package private) int` | `getObjectID(java.lang.Object element)` Returns the type-id of an Object.
    `boolean` | `isContent()` Checks if this element is a content object.
    `boolean` | `isEmpty()` Checks if the row is empty.
    `boolean` | `isNestable()` Checks if this element is nestable.
    `(package private) boolean` | `isReserved(int column)` Returns true/false when this position in the `Row` has been reserved, either filled or through a colspan of an Element.
    `boolean` | `process(ElementListener listener)` Processes the element by adding it (or the different parts) to a `ElementListener`.
    `(package private) boolean` | `reserve(int column)` Reserves a `Cell` in the `Row`.
    `(package private) boolean` | `reserve(int column, int size)` Reserves a `Cell` in the `Row`.
    `(package private) void` | `setElement(java.lang.Object aElement, int column)` Puts `Cell` to the `Row` at the position given, doesn't reserve colspan.
    `void` | `setHorizontalAlignment(int value)` Sets the horizontal alignment.
    `int` | `type()` Gets the type of the text element.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.lowagie.text.Element

      `toString`

- - ### Field Detail

    - #### NULL

          public static final int NULL

      id of a null element in a Row
      See Also:
        Constant Field Values

    - #### CELL

          public static final int CELL

      id of the Cell element in a Row
      See Also:
        Constant Field Values

    - #### TABLE

          public static final int TABLE

      id of the Table element in a Row
      See Also:
        Constant Field Values

    - #### columns

          protected int columns

      This is the number of columns in the `Row`.

    - #### currentColumn

          protected int currentColumn

      This is a valid position the `Row`.

    - #### reserved

          protected boolean[] reserved

      This is the array that keeps track of reserved cells.

    - #### cells

          protected java.lang.Object[] cells

      This is the array of Objects (`Cell` or `Table`).

    - #### horizontalAlignment

          protected int horizontalAlignment

      This is the vertical alignment.

  - ### Constructor Detail

    - #### Row

          protected Row(int columns)

      Constructs a `Row` with a certain number of columns.
      Parameters:
        `columns` - a number of columns

  - ### Method Detail

    - #### process

          public boolean process(ElementListener listener)

      Processes the element by adding it (or the different parts) to a `ElementListener`.
      Specified by:
        `process` in interface `Element`
      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`
      Returns:
        a type

    - #### getChunks

          public java.util.ArrayList getChunks()

      Gets all the chunks in this element.
      Specified by:
        `getChunks` in interface `Element`
      Returns:
        an `ArrayList`

    - #### isContent

          public boolean isContent()

      Description copied from interface: `Element`
      Checks if this element is a content object. If not, it's a metadata object.
      Specified by:
        `isContent` in interface `Element`
      Returns:
        true if this is a 'content' element; false if this is a 'metadata' element
      Since:
        iText 2.0.8
      See Also:
        `Element.isContent()`

    - #### isNestable

          public boolean isNestable()

      Description copied from interface: `Element`
      Checks if this element is nestable.
      Specified by:
        `isNestable` in interface `Element`
      Returns:
        true if this element can be nested inside other elements.
      Since:
        iText 2.0.8
      See Also:
        `Element.isNestable()`

    - #### deleteColumn

          void deleteColumn(int column)

      Returns a `Row` that is a copy of this `Row` in which a certain column has been deleted.
      Parameters:
        `column` - the number of the column to delete

    - #### addElement

          int addElement(java.lang.Object element)

      Adds a `Cell` to the `Row`.
      Parameters:
        `element` - the element to add (currently only Cells and Tables supported)
      Returns:
        the column position the `Cell` was added, or `-1` if the `element` couldn't be added.

    - #### addElement

          int addElement(java.lang.Object element,
                       int column)

      Adds an element to the `Row` at the position given.
      Parameters:
        `element` - the element to add. (currently only Cells and Tables supported
        `column` - the position where to add the cell.
      Returns:
        the column position the `Cell` was added, or `-1` if the `Cell` couldn't be added.

    - #### setElement

          void setElement(java.lang.Object aElement,
                        int column)

      Puts `Cell` to the `Row` at the position given, doesn't reserve colspan.
      Parameters:
        `aElement` - the cell to add.
        `column` - the position where to add the cell.

    - #### reserve

          boolean reserve(int column)

      Reserves a `Cell` in the `Row`.
      Parameters:
        `column` - the column that has to be reserved.
      Returns:
        `true` if the column was reserved, `false` if not.

    - #### reserve

          boolean reserve(int column,
                        int size)

      Reserves a `Cell` in the `Row`.
      Parameters:
        `column` - the column that has to be reserved.
        `size` - the number of columns
      Returns:
        `true` if the column was reserved, `false` if not.

    - #### isReserved

          boolean isReserved(int column)

      Returns true/false when this position in the `Row` has been reserved, either filled or through a colspan of an Element.
      Parameters:
        `column` - the column.
      Returns:
        `true` if the column was reserved, `false` if not.

    - #### getElementID

          int getElementID(int column)

      Returns the type-id of the element in a Row.
      Parameters:
        `column` - the column of which you'd like to know the type
      Returns:
        the type-id of the element in the row

    - #### getObjectID

          int getObjectID(java.lang.Object element)

      Returns the type-id of an Object.
      Parameters:
        `element` - the object of which you'd like to know the type-id, -1 if invalid
      Returns:
        the type-id of an object

    - #### getCell

          public java.lang.Object getCell(int column)

      Gets a `Cell` or `Table` from a certain column.
      Parameters:
        `column` - the column the `Cell/Table` is in.
      Returns:
        the `Cell`,`Table` or Object if the column was reserved or null if empty.

    - #### isEmpty

          public boolean isEmpty()

      Checks if the row is empty.
      Returns:
        `true` if none of the columns is reserved.

    - #### getColumns

          public int getColumns()

      Gets the number of columns.
      Returns:
        a value

    - #### setHorizontalAlignment

          public void setHorizontalAlignment(int value)

      Sets the horizontal alignment.
      Parameters:
        `value` - the new value

    - #### getHorizontalAlignment

          public int getHorizontalAlignment()

      Gets the horizontal alignment.
      Returns:
        a value