Java 类java.beans.PropertyChangeListenerProxy 实例源码

项目:incubator-netbeans    文件:ResourceTable.java   
/**
 * Add a PropertyChangeListener to the listener list. The listener is 
 * registered for all properties. The same listener object may be added 
 * more than once, and will be called as many times as it is added. If 
 * listener is null, no exception is thrown and no action is taken.
 * 
 * @param listener The PropertyChangeListener to be added
 */
public void addPropertyChangeListener(PropertyChangeListener listener)
{

    if (listener instanceof PropertyChangeListenerProxy)
    {
        PropertyChangeListenerProxy proxy = (PropertyChangeListenerProxy) listener;
        addPropertyChangeListener(proxy.getPropertyName(),
                                  (PropertyChangeListener)proxy.getListener());

    }
    else
    {
        listeners.add(new WeakReference<PropertyChangeListener>(listener));
    }
}
项目:VASSAL-src    文件:HybridClient.java   
public void setDelegate(ChatServerConnection newDelegate) {
 if (delegate != null && delegate.isConnected()) {
   throw new IllegalStateException(Resources.getString("Server.error1")); //$NON-NLS-1$
 }
 ChatServerConnection oldDelegate = delegate;
 if (oldDelegate != null) {
   newDelegate.setUserInfo(oldDelegate.getUserInfo());
 }
 PropertyChangeListener[] listeners = propSupport.getPropertyChangeListeners();
 for (int i = 0; i < listeners.length; i++) {
   newDelegate.addPropertyChangeListener(((PropertyChangeListenerProxy) listeners[i]).getPropertyName(), listeners[i]);
 }
 if (controls != null) {
   if (delegate instanceof ChatControlsInitializer) {
     ((ChatControlsInitializer) delegate).uninitializeControls(controls);
   }
   if (newDelegate instanceof ChatControlsInitializer) {
     ((ChatControlsInitializer) newDelegate).initializeControls(controls);
   }
 }
 delegate = newDelegate;
}
项目:j2objc    文件:PropertyChangeSupportTest.java   
public void testAddingAProxy() {
    Object bean = new Object();
    PropertyChangeSupport support = new PropertyChangeSupport(bean);
    PropertyChangeListener listener = new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {}
    };
    PropertyChangeListenerProxy proxy = new PropertyChangeListenerProxy("a", listener);
    support.addPropertyChangeListener("b", proxy);

    // this proxy sets us up to receive 'b' events
    PropertyChangeListenerProxy p1
            = (PropertyChangeListenerProxy) support.getPropertyChangeListeners()[0];
    assertEquals(PropertyChangeListenerProxy.class, p1.getClass());
    assertEquals("b", p1.getPropertyName());

    // this proxy sets us up to receive 'a' events
    PropertyChangeListenerProxy p2 = (PropertyChangeListenerProxy) p1.getListener();
    assertEquals(PropertyChangeListenerProxy.class, p2.getClass());
    assertEquals("a", p2.getPropertyName());
    assertEquals(listener, p2.getListener());
}
项目:vassal    文件:HybridClient.java   
public void setDelegate(ChatServerConnection newDelegate) {
 if (delegate != null && delegate.isConnected()) {
   throw new IllegalStateException(Resources.getString("Server.error1")); //$NON-NLS-1$
 }
 ChatServerConnection oldDelegate = delegate;
 if (oldDelegate != null) {
   newDelegate.setUserInfo(oldDelegate.getUserInfo());
 }
 PropertyChangeListener[] listeners = propSupport.getPropertyChangeListeners();
 for (int i = 0; i < listeners.length; i++) {
   newDelegate.addPropertyChangeListener(((PropertyChangeListenerProxy) listeners[i]).getPropertyName(), listeners[i]);
 }
 if (controls != null) {
   if (delegate instanceof ChatControlsInitializer) {
     ((ChatControlsInitializer) delegate).uninitializeControls(controls);
   }
   if (newDelegate instanceof ChatControlsInitializer) {
     ((ChatControlsInitializer) newDelegate).initializeControls(controls);
   }
 }
 delegate = newDelegate;
}
项目:jspresso-ce    文件:AbstractComponentInvocationHandler.java   
@SuppressWarnings({"unused", "UnusedParameters"})
private PropertyChangeListener[] getPropertyChangeListeners(Object proxy) {
  List<PropertyChangeListener> listeners = new ArrayList<>();
  if (propertyChangeSupport != null) {
    for (PropertyChangeListener pcl : propertyChangeSupport.getPropertyChangeListeners()) {
      // Avoid single property change listeners
      if (!(pcl instanceof PropertyChangeListenerProxy)) {
        listeners.add(pcl);
      }
    }
  }
  if (weakPropertyChangeSupport != null) {
    Collections.addAll(listeners, weakPropertyChangeSupport.getPropertyChangeListeners());
  }
  return listeners.toArray(new PropertyChangeListener[listeners.size()]);
}
项目:jspresso-ce    文件:AbstractPropertyChangeCapable.java   
/**
 * Retrieves listeners.
 *
 * @return all of the {@code PropertyChangeListeners} added or an empty array
 * if no listeners have been added
 *
 * @see java.beans.PropertyChangeSupport#getPropertyChangeListeners()
 */
@Override
public PropertyChangeListener[] getPropertyChangeListeners() {
  ArrayList<PropertyChangeListener> listeners = new ArrayList<>();
  if (propertyChangeSupport != null) {
    for (PropertyChangeListener pcl : propertyChangeSupport.getPropertyChangeListeners()) {
      // do not add single property change listeners
      if (!(pcl instanceof PropertyChangeListenerProxy)) {
        listeners.add(pcl);
      }
    }
  }
  if (weakPropertyChangeSupport != null) {
    listeners.addAll(Arrays.asList(weakPropertyChangeSupport.getPropertyChangeListeners()));
  }
  return listeners.toArray(new PropertyChangeListener[listeners.size()]);
}
项目:cn1    文件:KeyboardFocusManagerTest.java   
public final void testGetPropertyChangeListeners() {
    PropertyChangeListener[] listeners = kfm.getPropertyChangeListeners();
    assertNotNull(listeners);
    assertEquals(0, listeners.length);
    kfm.addPropertyChangeListener(listener);
    assertEquals(0, listeners.length);
    listeners = kfm.getPropertyChangeListeners();
    assertEquals(1, listeners.length);
    assertSame(listener, listeners[0]);
    String propName = "currentFocusCycleRoot";
    kfm.addPropertyChangeListener(propName, listener);
    listeners = kfm.getPropertyChangeListeners();
    assertEquals(2, listeners.length);
    assertNotSame(listener, listeners[1]);
    assertTrue(listeners[1] instanceof PropertyChangeListenerProxy);
    PropertyChangeListenerProxy proxy = (PropertyChangeListenerProxy) listeners[1];
    assertEquals(propName, proxy.getPropertyName());
    assertSame(listener, proxy.getListener());
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testRemovePropertyChangeListener_PropertyChangeListener_String_PropertyRegistered() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    PropertyChangeListener l1 = new MockPropertyChangeListener();
    sup.addPropertyChangeListener("myProp", l1);
    assertEquals(1, sup.getPropertyChangeListeners().length);

    sup.removePropertyChangeListener("myProp", l1);
    assertEquals(0, sup.getPropertyChangeListeners().length);
    assertEquals(0, sup.getPropertyChangeListeners("myProp").length);

    PropertyChangeListener l2 = new MockPropertyChangeListener();
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    sup.addPropertyChangeListener(l3);
    assertEquals(1, sup.getPropertyChangeListeners().length);
    sup.removePropertyChangeListener("myProp", l2);
    assertEquals(0, sup.getPropertyChangeListeners().length);
    assertEquals(0, sup.getPropertyChangeListeners("myProp").length);
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testGetPropertyChangeListener_String_Normal() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    PropertyChangeListener l1 = new MockPropertyChangeListener();
    PropertyChangeListener l2 = new MockPropertyChangeListener();
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    PropertyChangeListener l4 = new MockPropertyChangeListener();

    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp2", l4);

    assertEquals(1, sup.getPropertyChangeListeners("myProp").length);
    assertSame(l2, sup.getPropertyChangeListeners("myProp")[0]);
    sup.addPropertyChangeListener("myProp",
            new MockPropertyChangeListener());
    assertEquals(2, sup.getPropertyChangeListeners("myProp").length);
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testHasListener_AllRegistered() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    PropertyChangeListener l1 = new MockPropertyChangeListener();
    PropertyChangeListener l2 = new MockPropertyChangeListener();
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);

    assertFalse(sup.hasListeners("myProp"));
    sup.addPropertyChangeListener(l1);
    assertTrue(sup.hasListeners("myProp"));
    sup.removePropertyChangeListener(l1);
    assertFalse(sup.hasListeners("myProp"));
    sup.addPropertyChangeListener(l3);
    assertTrue(sup.hasListeners("myProp"));
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testHasListener_PropertyRegistered() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    PropertyChangeListener l1 = new MockPropertyChangeListener();
    PropertyChangeListener l2 = new MockPropertyChangeListener();
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);

    assertFalse(sup.hasListeners("myProp"));
    sup.addPropertyChangeListener("myProP", l1);
    assertFalse(sup.hasListeners("myProp"));
    sup.addPropertyChangeListener("myProp", l2);
    assertTrue(sup.hasListeners("myProp"));
    sup.removePropertyChangeListener("myProp", l2);
    assertFalse(sup.hasListeners("myProp"));
    // The following assertion fails on RI. See HARMONY-2526
    sup.addPropertyChangeListener("myProp", l3);
    assertTrue(sup.hasListeners("myProp"));
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Object_Normal() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = new Object();
    Object oldValue = new Object();

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", oldValue, newValue);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Object_EqualValues() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = new Object();
    Object oldValue = newValue;

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", oldValue, newValue);
    l1.assertNotCalled();
    l2.assertNotCalled();
    l4.assertNotCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Object_NullValues() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = null;
    Object oldValue = null;

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", oldValue, newValue);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Object_NullNewValue() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = null;
    Object oldValue = new Object();

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", oldValue, newValue);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Object_NullOldValue() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = new Object();
    Object oldValue = null;

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", oldValue, newValue);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Object_NullProperty() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = new Object();
    Object oldValue = new Object();

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            null, oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            null, oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            null, oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange(null, oldValue, newValue);
    l1.assertCalled();
    l2.assertNotCalled();
    l4.assertNotCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_PropertyChangeEvent_Normal() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = new Object();
    Object oldValue = new Object();
    Object src2 = new Object();
    PropertyChangeEvent event = new PropertyChangeEvent(src2, "myProp",
            oldValue, newValue);

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange(event);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_PropertyChangeEvent_EqualValues() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = new Object();
    Object oldValue = newValue;
    Object src2 = new Object();
    PropertyChangeEvent event = new PropertyChangeEvent(src2, "myProp",
            oldValue, newValue);

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange(event);
    l1.assertNotCalled();
    l2.assertNotCalled();
    l4.assertNotCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_PropertyChangeEvent_NullValues() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = null;
    Object oldValue = null;
    Object src2 = new Object();
    PropertyChangeEvent event = new PropertyChangeEvent(src2, "myProp",
            oldValue, newValue);

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange(event);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_PropertyChangeEvent_NullNewValue() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = null;
    Object oldValue = new Object();
    Object src2 = new Object();
    PropertyChangeEvent event = new PropertyChangeEvent(src2, "myProp",
            oldValue, newValue);

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange(event);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_PropertyChangeEvent_NullOldValue() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = new Object();
    Object oldValue = null;
    Object src2 = new Object();
    PropertyChangeEvent event = new PropertyChangeEvent(src2, "myProp",
            oldValue, newValue);

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src2,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange(event);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_PropertyChangeEvent_NullProperty() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = new Object();
    Object oldValue = new Object();
    Object src2 = new Object();
    PropertyChangeEvent event = new PropertyChangeEvent(src2, null,
            oldValue, newValue);

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src2,
            null, oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src2,
            null, oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src2,
            null, oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange(event);
    l1.assertCalled();
    l2.assertNotCalled();
    l4.assertNotCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Boolean_Normal() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = Boolean.TRUE;
    Object oldValue = Boolean.FALSE;

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", false, true);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Boolean_EqualValues() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = Boolean.TRUE;
    Object oldValue = newValue;

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", true, true);
    l1.assertNotCalled();
    l2.assertNotCalled();
    l4.assertNotCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Boolean_NullProperty() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = Boolean.TRUE;
    Object oldValue = Boolean.FALSE;

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            null, oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            null, oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            null, oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange(null, false, true);
    l1.assertCalled();
    l2.assertNotCalled();
    l4.assertNotCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Int_Normal() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    int newValue = 1;
    int oldValue = 2;

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", oldValue, newValue);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Int_EqualValues() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Integer newValue = new Integer(1);
    Integer oldValue = newValue;

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", oldValue.intValue(), newValue
            .intValue());
    l1.assertNotCalled();
    l2.assertNotCalled();
    l4.assertNotCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Int_NullProperty() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Integer newValue = new Integer(1);
    Integer oldValue = new Integer(2);

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            null, oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            null, oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            null, oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange(null, oldValue.intValue(), newValue.intValue());
    l1.assertCalled();
    l2.assertNotCalled();
    l4.assertNotCalled();
}
项目:cn1    文件:PropertyChangeSupportTest.java   
public void testSerialization() throws Exception {
    Object src = "PropertyChangeSupportSerializationTest";
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    PropertyChangeSupport sup2 = new PropertyChangeSupport(src);
    Integer newValue = new Integer(1);
    Integer oldValue = new Integer(2);

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener2 l2 = new MockPropertyChangeListener2();

    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener("myProp", l1);
    sup.addPropertyChangeListener("myProp", l2);
    sup2.addPropertyChangeListener(l1);
    sup2.addPropertyChangeListener("myProp", l1);

    PropertyChangeSupport deSup = (PropertyChangeSupport) SerializationTester
            .getDeserilizedObject(sup);
    assertEquals(sup2.getPropertyChangeListeners()[0], deSup
            .getPropertyChangeListeners()[0]);
    assertEquals(((PropertyChangeListenerProxy) sup2
            .getPropertyChangeListeners()[1]).getListener(),
            ((PropertyChangeListenerProxy) deSup
                    .getPropertyChangeListeners()[1]).getListener());
}
项目:cn1    文件:PropertyChangeSupportTest.java   
/**
 * @tests java.beans.PropertyChangeSupport#removePropertyChangeListener(
 *        java.lang.String, java.beans.PropertyChangeListener)
 */
public void testRemovePropertyChangeListener() {
    // Regression for HARMONY-386
    PropertyChangeSupport prop = new PropertyChangeSupport(new Object());

    PropertyChangeListener lis1 = new PropertyChangeListener() {

        public void propertyChange(PropertyChangeEvent event) {
        }
    };

    PropertyChangeListener lis2 = new PropertyChangeListenerProxy("name",
            lis1);

    assertEquals(0, prop.getPropertyChangeListeners().length);

    prop.addPropertyChangeListener(lis2);
    assertEquals(1, prop.getPropertyChangeListeners().length);

    prop.removePropertyChangeListener("name", lis1);
    assertEquals(0, prop.getPropertyChangeListeners().length);
}
项目:lcm    文件:TestChartPanel.java   
/**
 * Helper method that analyzes the
 * <code>{@link PropertyChangeListener}</code> instances of a given chart:
 * it returns a map that contains listener <code>{@link Class}</code>(key)
 * along with the count of instances registered on the given chart (value).
 * <p>
 * This may be used to find out the implementation class that messes up, if
 * the amount of listeners of that type increases in-between invocation of a
 * method that affects the chart.
 * <p>
 * 
 * @param chart
 *            the chart to analyze the listeners of.
 * 
 * @return a map that contains listener <code>{@link Class}</code>(key)
 *         along with the count of instances registered on the given chart
 *         (value).
 */
private static Map<Class<?>, Integer> getPropertyChangeListenerStatisticsForChartPerListenerInstance(
        final Chart2D chart) {
    Class<?> clazz;
    Integer count;
    PropertyChangeListener[] propertyChangeListeners = chart
            .getPropertyChangeListeners();
    Map<Class<?>, Integer> classes2count = new HashMap<Class<?>, Integer>();

    for (int i = propertyChangeListeners.length - 1; i >= 0; i--) {
        clazz = ((PropertyChangeListenerProxy)propertyChangeListeners[i]).getListener().getClass();
        count = null;
        // count the listener classes:
        count = classes2count.get(clazz);
        count = MathUtil.increment(count);
        classes2count.put(clazz, count);
    }

    for (Map.Entry<Class<?>, Integer> entry : classes2count.entrySet()) {
        System.out.println((entry.getKey()).getName() + " : "
                + entry.getValue());
    }

    return classes2count;

}
项目:freeVM    文件:KeyboardFocusManagerTest.java   
public final void testGetPropertyChangeListeners() {
    PropertyChangeListener[] listeners = kfm.getPropertyChangeListeners();
    assertNotNull(listeners);
    assertEquals(0, listeners.length);
    kfm.addPropertyChangeListener(listener);
    assertEquals(0, listeners.length);
    listeners = kfm.getPropertyChangeListeners();
    assertEquals(1, listeners.length);
    assertSame(listener, listeners[0]);
    String propName = "currentFocusCycleRoot";
    kfm.addPropertyChangeListener(propName, listener);
    listeners = kfm.getPropertyChangeListeners();
    assertEquals(2, listeners.length);
    assertNotSame(listener, listeners[1]);
    assertTrue(listeners[1] instanceof PropertyChangeListenerProxy);
    PropertyChangeListenerProxy proxy = (PropertyChangeListenerProxy) listeners[1];
    assertEquals(propName, proxy.getPropertyName());
    assertSame(listener, proxy.getListener());
}
项目:freeVM    文件:PropertyChangeSupportTest.java   
public void testRemovePropertyChangeListener_PropertyChangeListener_String_PropertyRegistered() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    PropertyChangeListener l1 = new MockPropertyChangeListener();
    sup.addPropertyChangeListener("myProp", l1);
    assertEquals(1, sup.getPropertyChangeListeners().length);

    sup.removePropertyChangeListener("myProp", l1);
    assertEquals(0, sup.getPropertyChangeListeners().length);
    assertEquals(0, sup.getPropertyChangeListeners("myProp").length);

    PropertyChangeListener l2 = new MockPropertyChangeListener();
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    sup.addPropertyChangeListener(l3);
    assertEquals(1, sup.getPropertyChangeListeners().length);
    sup.removePropertyChangeListener("myProp", l2);
    assertEquals(0, sup.getPropertyChangeListeners().length);
    assertEquals(0, sup.getPropertyChangeListeners("myProp").length);
}
项目:freeVM    文件:PropertyChangeSupportTest.java   
public void testGetPropertyChangeListener_String_Normal() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    PropertyChangeListener l1 = new MockPropertyChangeListener();
    PropertyChangeListener l2 = new MockPropertyChangeListener();
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    PropertyChangeListener l4 = new MockPropertyChangeListener();

    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp2", l4);

    assertEquals(1, sup.getPropertyChangeListeners("myProp").length);
    assertSame(l2, sup.getPropertyChangeListeners("myProp")[0]);
    sup.addPropertyChangeListener("myProp",
            new MockPropertyChangeListener());
    assertEquals(2, sup.getPropertyChangeListeners("myProp").length);
}
项目:freeVM    文件:PropertyChangeSupportTest.java   
public void testHasListener_AllRegistered() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    PropertyChangeListener l1 = new MockPropertyChangeListener();
    PropertyChangeListener l2 = new MockPropertyChangeListener();
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);

    assertFalse(sup.hasListeners("myProp"));
    sup.addPropertyChangeListener(l1);
    assertTrue(sup.hasListeners("myProp"));
    sup.removePropertyChangeListener(l1);
    assertFalse(sup.hasListeners("myProp"));
    sup.addPropertyChangeListener(l3);
    assertTrue(sup.hasListeners("myProp"));
}
项目:freeVM    文件:PropertyChangeSupportTest.java   
public void testHasListener_PropertyRegistered() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    PropertyChangeListener l1 = new MockPropertyChangeListener();
    PropertyChangeListener l2 = new MockPropertyChangeListener();
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);

    assertFalse(sup.hasListeners("myProp"));
    sup.addPropertyChangeListener("myProP", l1);
    assertFalse(sup.hasListeners("myProp"));
    sup.addPropertyChangeListener("myProp", l2);
    assertTrue(sup.hasListeners("myProp"));
    sup.removePropertyChangeListener("myProp", l2);
    assertFalse(sup.hasListeners("myProp"));
    // The following assertion fails on RI. See HARMONY-2526
    sup.addPropertyChangeListener("myProp", l3);
    assertTrue(sup.hasListeners("myProp"));
}
项目:freeVM    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Object_Normal() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = new Object();
    Object oldValue = new Object();

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", oldValue, newValue);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}
项目:freeVM    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Object_EqualValues() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = new Object();
    Object oldValue = newValue;

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", oldValue, newValue);
    l1.assertNotCalled();
    l2.assertNotCalled();
    l4.assertNotCalled();
}
项目:freeVM    文件:PropertyChangeSupportTest.java   
public void testFirePropertyChange_Object_NullValues() {
    Object src = new Object();
    PropertyChangeSupport sup = new PropertyChangeSupport(src);
    Object newValue = null;
    Object oldValue = null;

    MockPropertyChangeListener l1 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    MockPropertyChangeListener l2 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    PropertyChangeListener l3 = new PropertyChangeListenerProxy("myProp",
            l2);
    MockPropertyChangeListener l4 = new MockPropertyChangeListener(src,
            "myProp", oldValue, newValue);
    sup.addPropertyChangeListener(l1);
    sup.addPropertyChangeListener(l3);
    sup.addPropertyChangeListener("myProp", l4);

    sup.firePropertyChange("myProp", oldValue, newValue);
    l1.assertCalled();
    l2.assertCalled();
    l4.assertCalled();
}