< prev index next >

src/share/classes/javax/swing/undo/StateEdit.java

Print this page
rev 1527 : 6727662: Code improvement and warnings removing from swing packages
Summary: Removed unnecessary castings and other warnings
Reviewed-by: malenkov


  99     public StateEdit(StateEditable anObject) {
 100         super();
 101         init (anObject,null);
 102     }
 103 
 104     /**
 105      * Create and return a new StateEdit with a presentation name.
 106      *
 107      * @param anObject The object to watch for changing state
 108      * @param name The presentation name to be used for this edit
 109      *
 110      * @see StateEdit
 111      */
 112     public StateEdit(StateEditable anObject, String name) {
 113         super();
 114         init (anObject,name);
 115     }
 116 
 117     protected void init (StateEditable anObject, String name) {
 118         this.object = anObject;
 119         this.preState = new Hashtable(11);
 120         this.object.storeState(this.preState);
 121         this.postState = null;
 122         this.undoRedoName = name;
 123     }
 124 
 125 
 126     //
 127     // Operation
 128     //
 129 
 130 
 131     /**
 132      * Gets the post-edit state of the StateEditable object and
 133      * ends the edit.
 134      */
 135     public void end() {
 136         this.postState = new Hashtable(11);
 137         this.object.storeState(this.postState);
 138         this.removeRedundantState();
 139     }
 140 
 141     /**
 142      * Tells the edited object to apply the state prior to the edit
 143      */
 144     public void undo() {
 145         super.undo();
 146         this.object.restoreState(preState);
 147     }
 148 
 149     /**
 150      * Tells the edited object to apply the state after the edit
 151      */
 152     public void redo() {
 153         super.redo();
 154         this.object.restoreState(postState);
 155     }
 156 
 157     /**
 158      * Gets the presentation name for this edit
 159      */
 160     public String getPresentationName() {
 161         return this.undoRedoName;
 162     }
 163 
 164 
 165     //
 166     // Internal support
 167     //
 168 
 169     /**
 170      * Remove redundant key/values in state hashtables.
 171      */
 172     protected void removeRedundantState() {
 173         Vector uselessKeys = new Vector();
 174         Enumeration myKeys = preState.keys();
 175 
 176         // Locate redundant state
 177         while (myKeys.hasMoreElements()) {
 178             Object myKey = myKeys.nextElement();
 179             if (postState.containsKey(myKey) &&
 180                 postState.get(myKey).equals(preState.get(myKey))) {
 181                 uselessKeys.addElement(myKey);
 182             }
 183         }
 184 
 185         // Remove redundant state
 186         for (int i = uselessKeys.size()-1; i >= 0; i--) {
 187             Object myKey = uselessKeys.elementAt(i);
 188             preState.remove(myKey);
 189             postState.remove(myKey);
 190         }
 191     }
 192 
 193 } // End of class StateEdit


  99     public StateEdit(StateEditable anObject) {
 100         super();
 101         init (anObject,null);
 102     }
 103 
 104     /**
 105      * Create and return a new StateEdit with a presentation name.
 106      *
 107      * @param anObject The object to watch for changing state
 108      * @param name The presentation name to be used for this edit
 109      *
 110      * @see StateEdit
 111      */
 112     public StateEdit(StateEditable anObject, String name) {
 113         super();
 114         init (anObject,name);
 115     }
 116 
 117     protected void init (StateEditable anObject, String name) {
 118         this.object = anObject;
 119         this.preState = new Hashtable<Object, Object>(11);
 120         this.object.storeState(this.preState);
 121         this.postState = null;
 122         this.undoRedoName = name;
 123     }
 124 
 125 
 126     //
 127     // Operation
 128     //
 129 
 130 
 131     /**
 132      * Gets the post-edit state of the StateEditable object and
 133      * ends the edit.
 134      */
 135     public void end() {
 136         this.postState = new Hashtable<Object, Object>(11);
 137         this.object.storeState(this.postState);
 138         this.removeRedundantState();
 139     }
 140 
 141     /**
 142      * Tells the edited object to apply the state prior to the edit
 143      */
 144     public void undo() {
 145         super.undo();
 146         this.object.restoreState(preState);
 147     }
 148 
 149     /**
 150      * Tells the edited object to apply the state after the edit
 151      */
 152     public void redo() {
 153         super.redo();
 154         this.object.restoreState(postState);
 155     }
 156 
 157     /**
 158      * Gets the presentation name for this edit
 159      */
 160     public String getPresentationName() {
 161         return this.undoRedoName;
 162     }
 163 
 164 
 165     //
 166     // Internal support
 167     //
 168 
 169     /**
 170      * Remove redundant key/values in state hashtables.
 171      */
 172     protected void removeRedundantState() {
 173         Vector<Object> uselessKeys = new Vector<Object>();
 174         Enumeration myKeys = preState.keys();
 175 
 176         // Locate redundant state
 177         while (myKeys.hasMoreElements()) {
 178             Object myKey = myKeys.nextElement();
 179             if (postState.containsKey(myKey) &&
 180                 postState.get(myKey).equals(preState.get(myKey))) {
 181                 uselessKeys.addElement(myKey);
 182             }
 183         }
 184 
 185         // Remove redundant state
 186         for (int i = uselessKeys.size()-1; i >= 0; i--) {
 187             Object myKey = uselessKeys.elementAt(i);
 188             preState.remove(myKey);
 189             postState.remove(myKey);
 190         }
 191     }
 192 
 193 } // End of class StateEdit
< prev index next >