Класс StateEdit
- Все реализуемые интерфейсы:
Serializable, UndoableEdit
public class StateEdit extends AbstractUndoableEdit
StateEdit — это общее средство редактирования объектов, состояние которых изменяется. Редактируемые объекты должны соответствовать интерфейсу StateEditable.
Этот класс редактирования работает, запрашивая у объекта сохранение его состояния в хеш-таблицах до и после редактирования. При отмене или повторном выполнении объекту предлагается восстановить состояние из этих хеш-таблиц.
Редактирование состояния используется следующим образом:
// Create the edit during the "before" state of the object
StateEdit newEdit = new StateEdit(myObject);
// Modify the object
myObject.someStateModifyingMethod();
// "end" the edit when you are done modifying the object
newEdit.end();
Обратите внимание: при завершении StateEdit из хеш-таблиц удаляются избыточные данные. Не гарантируется, что хеш-таблица состояния будет содержать все помещённые в неё ключи и значения, когда состояние сохранялось!
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected StateEditable |
object |
Редактируемый объект |
protected Hashtable |
postState |
Информация о состоянии после редактирования |
protected Hashtable |
preState |
Информация о состоянии до редактирования |
protected static final String |
RCSID |
Устаревший идентификатор версии RCS. |
protected String |
undoRedoName |
Отображаемое имя для отмены и повторного выполнения |
Поля, объявленные в классе AbstractUndoableEdit
RedoName, UndoName | Модификатор и тип | Поле | Описание |
|---|---|---|
protected static final String |
RedoName |
Строка, возвращаемая методом getRedoPresentationName; начиная с Java 2 Platform v1.3.1 это поле больше не используется. |
protected static final String |
UndoName |
Строка, возвращаемая методом getUndoPresentationName; начиная с Java 2 Platform v1.3.1 это поле больше не используется. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StateEdit |
Создаёт и возвращает новый объект StateEdit. |
StateEdit |
Создаёт и возвращает новый объект StateEdit с отображаемым именем. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
end() |
Получает состояние объекта StateEditable после редактирования и завершает редактирование. |
String |
getPresentationName() |
Получает отображаемое имя этого редактирования |
protected void |
init |
Инициализирует редактирование состояния. |
void |
redo() |
Предлагает редактируемому объекту применить состояние после редактирования |
protected void |
removeRedundantState() |
Удаляет избыточные ключи и значения из хеш-таблиц состояния. |
void |
undo() |
Предлагает редактируемому объекту применить состояние до редактирования |
Методы, объявленные в классе AbstractUndoableEdit
addEdit, canRedo, canUndo, die, getRedoPresentationName, getUndoPresentationName, isSignificant, replaceEdit, toString | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
addEdit |
Эта реализация по умолчанию возвращает false. |
boolean |
canRedo() |
Возвращает true, если это редактирование является alive, а hasBeenDone — false. |
boolean |
canUndo() |
Возвращает true, если это редактирование является alive, а hasBeenDone — true. |
void |
die() |
Устанавливает для alive значение false. |
String |
getRedoPresentationName() |
Извлекает значение из таблицы значений по умолчанию с ключом AbstractUndoableEdit.redoText и возвращает это значение, за которым следует пробел, а затем getPresentationName. |
String |
getUndoPresentationName() |
Извлекает значение из таблицы значений по умолчанию с ключом AbstractUndoableEdit.undoText и возвращает это значение, за которым следует пробел, а затем getPresentationName. |
boolean |
isSignificant() |
Эта реализация по умолчанию возвращает true. |
boolean |
replaceEdit |
Эта реализация по умолчанию возвращает false. |
String |
toString() |
Возвращает строку, отображающую свойства этого объекта и идентифицирующую его. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
RCSID
protected static final String RCSID
- См. также:
object
protected StateEditable object
preState
protected Hashtable<Object,Object> preState
postState
protected Hashtable<Object,Object> postState
undoRedoName
protected String undoRedoName
Подробное описание конструкторов
StateEdit
public StateEdit(StateEditable anObject)
- Параметры:
-
anObject— объект, состояние которого отслеживается - См. также:
StateEdit
public StateEdit(StateEditable anObject, String name)
- Параметры:
-
anObject— объект, состояние которого отслеживается -
name— отображаемое имя для этого редактирования - См. также:
Подробное описание методов
init
protected void init(StateEditable anObject, String name)
- Параметры:
-
anObject— объект, состояние которого отслеживается -
name— отображаемое имя для этого редактирования
end
public void end()
undo
public void undo()
- Определён в:
-
undoв интерфейсеUndoableEdit - Переопределяет:
-
undoв классеAbstractUndoableEdit - См. также:
redo
public void redo()
- Определён в:
-
redoв интерфейсеUndoableEdit - Переопределяет:
-
redoв классеAbstractUndoableEdit - См. также:
getPresentationName
public String getPresentationName()
- Определён в:
-
getPresentationNameв интерфейсеUndoableEdit - Переопределяет:
-
getPresentationNameв классеAbstractUndoableEdit - Возвращает:
- пустую строку ""
- См. также:
removeRedundantState
protected void removeRedundantState()
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.