TableObject

A 2D table structure

package

Default

Methods

TableObject is an abstraction of a 2D table with X columns and Y rows where each cell can be used to store any kind of data.

__construct(integer $rows, mixed $columns) : \org\turbocommons\src\main\php\model\TableObject

Columns can be labeled with a textual name which can be used to access them anytime (data can be also accessed via numeric row and column indexes).

Arguments

$rows

integer

The number of rows for the created table (Rows can be added or modified anytime later).

$columns

mixed

The number of columns to create or an array of strings containing the column labels for all of the columns that will be created (Columns can be added or modified anytime later).

Response

\org\turbocommons\src\main\php\model\TableObject

The constructed TableObject

Add the specified amount of columns to the table.

addColumns(integer $number, array $names = array(), integer $at = -1) : boolean
Throws
\UnexpectedValueException

Arguments

$number

integer

The number of columns that will be added to the table

$names

array

Optionally we can list all the labels to define for the new columns that will be added

$at

integer

Defines the column index where the new columns will be inserted. Old columns that are located at the insertion point will not be deleted, they will be moved to the Right. By default all the new columns will be appended at the end of the table unless a positive value is specified here.

Response

boolean

True if the operation was successful

Add the specified amount of rows to the table.

addRows(integer $number, integer $at = -1) : boolean
Throws
\UnexpectedValueException

Arguments

$number

integer

The number of rows that will be added to the table

$at

integer

Defines the row index where the new rows will be inserted. Old rows that are located at the insertion point will not be deleted, they will be moved down. By default all the new rows will be appended at the bottom of the table unless a positive value is specified here.

Response

boolean

True if the operation was successful

Get the total number of cells that are currently available on this table

countCells() : integer

Response

integer

The total number of cells on the table

Get the total number of columns that are currently available on this table

countColumns() : integer

Response

integer

The total number of columns on the table

Get the total number of rows that are currently available on this table

countRows() : integer

Response

integer

The total number of rows on the table

Get the value contained at the specified table cell

getCell(integer $row, mixed $column) : mixed

Arguments

$row

integer

An integer containing the index for the row that we want to retrieve

$column

mixed

An integer or a string containing the index or label for the column that we want to retrieve

Response

mixed

The value for the cell that is located at the specified row and column

Get all the elements that are located at the specified column index or label.

getColumn(mixed $column) : array

Arguments

$column

mixed

An integer or a string containing the index or label for the column that we want to retrieve

Response

array

All the table elements that belong to the required column

Get the numeric column index from it's label

getColumnIndex(string $name) : integer
Throws
\UnexpectedValueException

Arguments

$name

string

The label for an existing column

Response

integer

The numeric index that is related to the given column label

Get the defined column name for a given column index

getColumnName(integer $columnIndex) : string

Arguments

$columnIndex

integer

a numeric column index

Response

string

The column label for the specified numeric index

Get a list with all the currently defined column names in the same order as they are assigned to the table.

getColumnNames() : array

If the table contains columns but no names are defined, a list with empty strings will be returned

Response

array

A list of strings with the column names

Get all the elements that are located at the specified row index

getRow(integer $row) : array

Arguments

$row

integer

An integer containing the index for the row that we want to retrieve

Response

array

All the table elements that belong to the required row

Delete a whole column and all its related data from the table

removeColumn(mixed $column) : void

Arguments

$column

mixed

An integer or a string containing the index or label for the column that we want to delete

Delete a whole row and all its related data from the table

removeRow(integer $row) : void

Arguments

$row

integer

An integer containing the index for the row that we want to delete

Set the value for a table cell

setCell(integer $row, mixed $column, mixed $value) : mixed

Arguments

$row

integer

An integer containing the index for the row that we want to set

$column

mixed

An integer or a string containing the index or label for the column that we want to set

$value

mixed

The value we want to set to the specified cell. Any type is allowed, and different cells can contain values of different types.

Response

mixed

The assigned value after beign stored into the table cell

Fill the data on all the rows for the given column index or label

setColumn(mixed $column, array $data) : void
Throws
\UnexpectedValueException

Arguments

$column

mixed

An integer or a string containing the index or label for the column that we want to fill

$data

array

An array with all the values that will be assigned to the table rows on the specified column. Array length must match rows number

Set the label to an existing table column.

setColumnName(mixed $column, string $name) : boolean
Throws
\UnexpectedValueException

Arguments

$column

mixed

An integer or a string containing the index or label for the column to which we want to assign a label

$name

string

The new label that will be assigned to the specified column

Response

boolean

True if the column name was correctly assigned

Define the names for the current table columns (Already defined column names will be overriden).

setColumnNames(array $names) : array
Throws
\UnexpectedValueException

Arguments

$names

array

List of names that will be applied to the table columns. It must have the same number of items and in the same order as the table columns.

Response

array

The list of column names after beign assigned

Fill all the data for the specified row

setRow(integer $row, array $data) : void
Throws
\UnexpectedValueException

Arguments

$row

integer

An integer containing the index for the row that we want to set

$data

array

An array with all the values that will be assigned to the table row. Array length must match columns number