< prev index next >

src/com/sun/javatest/tool/ToolAction.java

Print this page
rev 145 : 7902237: Fixing raw use of parameterized class
Reviewed-by: jjg


 176         // no need to synchronize just to read a single simple boolean
 177         return enabled;
 178     }
 179 
 180     public void setEnabled(boolean newVal) {
 181         if (enabled == newVal)
 182             return;
 183 
 184         boolean oldVal = enabled;
 185         enabled = newVal;
 186 
 187         if (listeners.length > 0)
 188             firePropertyChangeEvent("enabled", new Boolean(oldVal), new Boolean(newVal));
 189     }
 190 
 191     public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
 192         listeners = DynamicArray.append(listeners, new WeakReference<>(listener));
 193     }
 194 
 195     public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
 196         WeakReference[] l = listeners;
 197         int size = l.length;
 198         for (int i = size - 1; i >= 0; i--) {
 199             if (l[i].get() == listener)
 200                 System.arraycopy(l, i+1, l, i, (--size) - i);
 201         }
 202 
 203         if (size < l.length) {
 204             listeners = new WeakReference[size];
 205             System.arraycopy(l, 0, listeners, 0, size);
 206         }
 207     }
 208 
 209     private void firePropertyChangeEvent(String name, Object oldVal, Object newVal) {
 210         PropertyChangeEvent ev = null; // lazy create event if needed
 211         WeakReference[] l = listeners;
 212         if (l.length > 0) {
 213             for (int i = l.length - 1; i >= 0; i--) {
 214                 PropertyChangeListener pcl = (PropertyChangeListener) (l[i].get());
 215                 if (pcl != null) {
 216                     if (ev == null)
 217                         ev = new PropertyChangeEvent(this, name, oldVal, newVal);
 218                     pcl.propertyChange(ev);
 219                 }
 220             }
 221         }
 222     }
 223 
 224 
 225     private static int getMnemonic(I18NResourceBundle i18n, String key) {
 226         String keyString = i18n.getString(key);
 227         KeyStroke keyStroke = KeyStroke.getKeyStroke(keyString);
 228         return (keyStroke == null ? 0 : keyStroke.getKeyCode());
 229     }
 230 
 231     private static boolean equal(Object a, Object b) {
 232         return (a == null ? b == null : a.equals(b));
 233     }
 234 
 235     private String name;
 236     private String desc;
 237     private Integer mnemonic;
 238     private Icon icon;
 239     private Map<String, Object> misc;
 240     private boolean enabled = true;
 241 
 242     private WeakReference[] listeners = new WeakReference[0];
 243 }


 176         // no need to synchronize just to read a single simple boolean
 177         return enabled;
 178     }
 179 
 180     public void setEnabled(boolean newVal) {
 181         if (enabled == newVal)
 182             return;
 183 
 184         boolean oldVal = enabled;
 185         enabled = newVal;
 186 
 187         if (listeners.length > 0)
 188             firePropertyChangeEvent("enabled", new Boolean(oldVal), new Boolean(newVal));
 189     }
 190 
 191     public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
 192         listeners = DynamicArray.append(listeners, new WeakReference<>(listener));
 193     }
 194 
 195     public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
 196         WeakReference<PropertyChangeListener>[] l = listeners;
 197         int size = l.length;
 198         for (int i = size - 1; i >= 0; i--) {
 199             if (l[i].get() == listener)
 200                 System.arraycopy(l, i+1, l, i, (--size) - i);
 201         }
 202 
 203         if (size < l.length) {
 204             listeners = new WeakReference[size];
 205             System.arraycopy(l, 0, listeners, 0, size);
 206         }
 207     }
 208 
 209     private void firePropertyChangeEvent(String name, Object oldVal, Object newVal) {
 210         PropertyChangeEvent ev = null; // lazy create event if needed
 211         WeakReference<PropertyChangeListener>[] l = listeners;
 212         if (l.length > 0) {
 213             for (int i = l.length - 1; i >= 0; i--) {
 214                 PropertyChangeListener pcl = (l[i].get());
 215                 if (pcl != null) {
 216                     if (ev == null)
 217                         ev = new PropertyChangeEvent(this, name, oldVal, newVal);
 218                     pcl.propertyChange(ev);
 219                 }
 220             }
 221         }
 222     }
 223 
 224 
 225     private static int getMnemonic(I18NResourceBundle i18n, String key) {
 226         String keyString = i18n.getString(key);
 227         KeyStroke keyStroke = KeyStroke.getKeyStroke(keyString);
 228         return (keyStroke == null ? 0 : keyStroke.getKeyCode());
 229     }
 230 
 231     private static boolean equal(Object a, Object b) {
 232         return (a == null ? b == null : a.equals(b));
 233     }
 234 
 235     private String name;
 236     private String desc;
 237     private Integer mnemonic;
 238     private Icon icon;
 239     private Map<String, Object> misc;
 240     private boolean enabled = true;
 241 
 242     private WeakReference<PropertyChangeListener>[] listeners = new WeakReference[0];
 243 }
< prev index next >