Module javafx.controls
Package javafx.scene.control

## Class TablePositionBase<TC extends TableColumnBase>

- java.lang.Object
- - javafx.scene.control.TablePositionBase<TC>

- Direct Known Subclasses:
    `TablePosition`, `TreeTablePosition`

      public abstract class TablePositionBase<TC extends TableColumnBase>
      extends Object

  This class is used to represent a single row/column/cell in a table. Concrete subclasses of this abstract class are used in the `TableView` and `TreeTableView` APIs to represent which rows/columns/cells are currently selected, focused, being edited, etc. Note that this class is immutable once it is created.

  Because the TableView and TreeTableView controls can have different `selection modes`, the row and column properties in TablePositionBase can be 'disabled' to represent an entire row or column. This is done by setting the unrequired property to -1 or null.

  Since:
    JavaFX 8.0
  See Also:
    `TablePosition`, `TreeTablePosition`

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `TablePositionBase​(int row, TC tableColumn)` | Constructs a TablePositionBase instance to represent the given row/column position in the underlying table instance (which is not part of the abstract TablePositionBase class, but is part of concrete subclasses such as `TablePosition` and `TreeTablePosition`).

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(Object obj)` | Indicates whether some other object is "equal to" this one.
    `abstract int` | `getColumn()` | The column index that this TablePosition represents in the TableView.
    `int` | `getRow()` | The row that this TablePosition represents in the TableView.
    `TC` | `getTableColumn()` | The TableColumn that this TablePosition represents in the TableView.
    `int` | `hashCode()` | Returns a hash code for this `TablePosition` object.

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

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

- - ### Constructor Detail

    - #### TablePositionBase

          protected TablePositionBase​(int row,
                                      TC tableColumn)

      Constructs a TablePositionBase instance to represent the given row/column position in the underlying table instance (which is not part of the abstract TablePositionBase class, but is part of concrete subclasses such as `TablePosition` and `TreeTablePosition`). In all cases, all fields inside TablePositionBase instances are referenced weakly so as to prevent memory leaks. This means that it is possible (but unlikely) that the get methods will return null.
      Parameters:
        `row` - The row that this TablePosition is representing.
        `tableColumn` - The TableColumn instance that this TablePosition represents.

  - ### Method Detail

    - #### getRow

          public int getRow()

      The row that this TablePosition represents in the TableView.
      Returns:
        the row that this TablePosition represents in the TableView

    - #### getColumn

          public abstract int getColumn()

      The column index that this TablePosition represents in the TableView. It is -1 if the TableView or TableColumn instances are null.
      Returns:
        the column index that this TablePosition represents in the TableView

    - #### getTableColumn

          public TC getTableColumn()

      The TableColumn that this TablePosition represents in the TableView.
      Returns:
        the TableColumn that this TablePosition represents in the TableView

    - #### equals

          public boolean equals​(Object obj)

      Indicates whether some other object is "equal to" this one.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the reference object with which to compare.
      Returns:
        `true` if this object is equal to the `obj` argument; `false` otherwise.

    - #### hashCode

          public int hashCode()

      Returns a hash code for this `TablePosition` object.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code for this `TablePosition` object.