package ru.hflabs.rcd.model;
import ru.hflabs.rcd.model.change.ChangeType;
import ru.hflabs.rcd.model.change.History;
import java.util.Date;
/**
* Интерфейс <class>Historical</class> декларирует методы объекта, который обладает историей
*
* @see History
*/
public interface Historical {
/** Название поля с идентификатором истории */
String HISTORY_ID = "historyId";
/** Название поля с типом изменения */
String CHANGE_TYPE = "changeType";
/** Название поля с датой изменения */
String CHANGE_DATE = "changeDate";
/**
* @return Возвращает символическое название объекта истории
*/
String getHistoryName();
/**
* @return Возвращает идентификатор истории
*/
String getHistoryId();
/**
* Устаналивает идентификатор истории
*
* @param historyId идентификатор
*/
void setHistoryId(String historyId);
/**
* @return Возвращает последнее событие объекта
*/
ChangeType getChangeType();
/**
* @return Возвращает последнюю дату модификации объекта
*/
Date getChangeDate();
/**
* @return Возвращает событие истории
*/
History getHistory();
/**
* Устанавливает событие истории
*
* @param history событие
*/
void setHistory(History history);
}