Package xyz.cofe.data.table
Class DataRow
java.lang.Object
xyz.cofe.data.table.DataRow
- All Implemented Interfaces:
java.io.Closeable,java.io.Serializable,java.lang.AutoCloseable
public class DataRow
extends java.lang.Object
implements java.io.Closeable, java.io.Serializable
Строка данных таблицы, с поддержкой отката изменений.
- Строка может пренадлежать таблице или нет (свойство table).
- Строка хранит счетчик изменений changeCount
-
Строка хранит в себе два набора:
origin - оригинальные данные
data - текущие данные - Оба набора данных задаются в конструкторе, счетчик измений устанавливается в 0.
- Изменения вносятся в текущий набор, при каждом изменении увеличивается счетчик changeCount.
- Отличия текущих данных от оргинальных, можно получить методом: getChangedValues()
- метод fixChanges() - сохраняет внесенные изменения в оригинальные данные, счетчик сбрасывает в 0
- метод cancelChanges() - откатывает измененияЮ счетчик сбрасывает в 0
- Detached - Строка не присоединена к таблице
- Fixed - Строка присоединена к таблице и счетчик изменений 0
- Updated - Строка присоединена к таблице и счетчик изменений более 0 (содержит измененные данные)
- Inserted - Строка присоединена к таблице, и помечена для добавления
- Deleted - Строка присоединена к таблице, и помечена для удаления
- Author:
- Kamnev Georgiy
- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDataRow.ChangedValueОписывает изенеия строки -
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description voidcancelChanges()Откатывает измененияvoidcancelChanges(boolean addEvents)Откатывает изменения и добавляет событие в очередьvoidclose()Закрывает строку и освобождает ссылкиvoidfixChanges()Фиксировать измененияvoidfixChanges(boolean addEvents)Фиксировать измененияjava.lang.Objectget(int column)Возвращает данные из указанной колонкиintgetChangeCount()Возвращает кол-во изменений с последней фиксацииjava.lang.Integer[]getChangedColumn()Возвращает индексы измененных колонокjava.util.List<DataRow.ChangedValue>getChangedValues()Возвращает список измененийjava.lang.Object[]getData()Возвращает рабочие данные строкиjava.lang.Object[]getOrigin()Возвращает зафиксированные данныеDataRowStategetState()Возвращает состояние строкиDataTablegetTable()Указывает таблицу строкиbooleanisChanged()Возвращает факт наличия не зафиксированных данныхbooleanisDeleted()Возвращает true если строка отмечена как удаленнаяbooleanisDetached()Указывает присоединена ли строка к таблицеbooleanisInserted()Возвращает true если строка отмечена как новая (inserted)booleanisUpdated()Возвращает true если строка быда обновлена, но не фиксированнаvoidset(int column, java.lang.Object value)Указывает значение колонкиvoidset(int column, java.lang.Object value, boolean addEvents)Указывает значение колонкиvoidsetTable(DataTable table)Указывает таблицу сторки
-
Field Details
-
Constructor Details
-
DataRow
Создает строку таблицы- Parameters:
table- таблицаdata- данные строки
-
DataRow
public DataRow(DataTable dataTable, java.lang.Object[] data, java.lang.Object[] origin, int changes)Конструктор десиариализации- Parameters:
dataTable- Таблица к которой относится строкаdata- Текущие данныеorigin- Оригинальные данныеchanges- Кол-во изменений
-
DataRow
Конструктор копирования- Parameters:
sample- Образец для копирования
-
-
Method Details
-
getData
public java.lang.Object[] getData()Возвращает рабочие данные строки- Returns:
- данные
-
getOrigin
public java.lang.Object[] getOrigin()Возвращает зафиксированные данные- Returns:
- зафиксированные данные
-
getChangedColumn
public java.lang.Integer[] getChangedColumn()Возвращает индексы измененных колонок- Returns:
- индексы
-
isChanged
public boolean isChanged()Возвращает факт наличия не зафиксированных данных- Returns:
- true - если незафиксированные данные
-
getChangeCount
public int getChangeCount()Возвращает кол-во изменений с последней фиксации- Returns:
- кол-во изменений
-
getChangedValues
Возвращает список изменений- Returns:
- список изменений
-
cancelChanges
public void cancelChanges()Откатывает изменения -
cancelChanges
public void cancelChanges(boolean addEvents)Откатывает изменения и добавляет событие в очередь- Parameters:
addEvents- добавить событие в очередь таблицы
-
fixChanges
public void fixChanges()Фиксировать изменения -
fixChanges
public void fixChanges(boolean addEvents)Фиксировать изменения- Parameters:
addEvents- добавить событие в очередь таблицы
-
close
public void close() throws java.io.IOExceptionЗакрывает строку и освобождает ссылки- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException- Ошибка клонирования
-
get
public java.lang.Object get(int column)Возвращает данные из указанной колонки- Parameters:
column- колонка- Returns:
- данные
-
set
public void set(int column, java.lang.Object value)Указывает значение колонки- Parameters:
column- колонкаvalue- значение
-
set
public void set(int column, java.lang.Object value, boolean addEvents)Указывает значение колонки- Parameters:
column- колонкаvalue- значениеaddEvents- true - добавляет событие в очередь таблицы
-
getTable
Указывает таблицу строки- Returns:
- таблица
-
setTable
Указывает таблицу сторки- Parameters:
table- таблица
-
isDetached
public boolean isDetached()Указывает присоединена ли строка к таблице- Returns:
- true - есть ссылка на таблицу
-
isDeleted
public boolean isDeleted()Возвращает true если строка отмечена как удаленная- Returns:
- true - отмечена под удаление
-
isInserted
public boolean isInserted()Возвращает true если строка отмечена как новая (inserted)- Returns:
- true - строка добавлена но не фиксирована
-
isUpdated
public boolean isUpdated()Возвращает true если строка быда обновлена, но не фиксированна- Returns:
- true - строка была обновлена, но не фиксированна
-
getState
Возвращает состояние строки- Returns:
- состояние строки
-