StateEdit
StateEdit (상태 변경 객체를 위한 일반 편집)
StateEdit은 상태를 변경하는 객체를 위한 일반 편집이에요. 편집 대상 객체는 StateEditable 인터페이스를 따라야 해요. 이 편집 클래스는 객체에게 편집 전과 후에 상태를 Hashtable에 저장하도록 요청하는 방식으로 동작해요. undo 또는 redo 시 객체는 이 Hashtable에서 상태를 복원하라는 지시를 받아요.
본문
상태 편집은 다음과 같이 사용돼요:
// 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();
상태 편집이 끝나면 Hashtable에서 중복 상태를 제거한다는 점에 주의하세요 — 상태 Hashtable은 상태가 저장될 때 넣은 모든 키/값을 포함한다는 보장이 없어요.
필드
protected StateEditable object— 편집 중인 객체예요.protected Hashtable<Object, Object> postState— 편집 후의 상태 정보예요.protected Hashtable<Object, Object> preState— 편집 전의 상태 정보예요.protected static final String RCSID— 구식 RCS 버전 식별자예요.protected String undoRedoName— undo/redo 표시 이름이에요.
생성자
StateEdit(StateEditable anObject)— 새StateEdit을 생성하고 반환해요.StateEdit(StateEditable anObject, String name)— 지정된 표시 이름으로 새StateEdit을 생성하고 반환해요.
이 클래스는 AbstractUndoableEdit을 확장하고 UndoableEdit, Serializable을 구현해요.