public void firePropertyChange ( PropertyChangeEvent evt ) { Object oldValue = evt . getOldValue ( ) ; Object newValue = evt . getNewValue ( ) ; if ( ObjectUtils . nullSafeEquals ( oldValue , newValue ) ) { return ; } String propertyName = evt . getPropertyName ( ) ; PropertyChangeSupport child = null ; if ( children != null ) { if ( children != null && propertyName != null ) { child = ( PropertyChangeSupport ) children . get ( propertyName ) ; } } if ( listeners != null ) { Object [ ] listenerList = listeners . getListenerList ( ) ; for ( int i = 0 ; i <= listenerList . length - 2 ; i += 2 ) { if ( listenerList [ i ] == PropertyChangeListener . class ) { ( ( PropertyChangeListener ) listenerList [ i + 1 ] ) . propertyChange ( evt ) ; } } } if ( child != null ) { child . firePropertyChange ( evt ) ; } }
Fire an existing PropertyChangeEvent to any registered listeners . No event is fired if the given event s old and new values are equal and non - null .