Package jmri.beans
Class PropertyChangeSupport
- java.lang.Object
-
- jmri.beans.PropertyChangeSupport
-
- All Implemented Interfaces:
PropertyChangeFirer,PropertyChangeProvider
- Direct Known Subclasses:
AbstractPowerManager,AbstractProgrammer,AbstractThrottle,Action,Automation,AutomationItem,AutomationManager,BackupBase,DefaultProgrammerManager,DeferringProgrammerManager,Division,DivisionManager,LncvDevicesManager,LnOpsModeProgrammer,Lnsv1DevicesManager,Location,LocationManager,LocoIOData,ProgDebugger,RollingStock,RollingStockAttribute,RollingStockGroup,RollingStockGroupManager,RollingStockManager,Route,RouteLocation,RouteManager,Schedule,ScheduleItem,ScheduleManager,Setup,Track,Train,TrainManager,TrainSchedule,TrainScheduleManager,TurnoutOperation,VetoableChangeSupport
@ThreadSafe public class PropertyChangeSupport extends java.lang.Object implements PropertyChangeProvider, PropertyChangeFirer
Implementation ofPropertyChangeSupportthat can be extended by classes that would normally need to implement the methods of PropertyChangeSupport independently.This class is designed to support retrofitting an existing class with the PropertyChangeProvider and PropertyChangeFirer interfaces without introducing the complexity of the other implementations of PropertyChangeProvider in this package. When designing new classes, it would be preferable to subclass
ArbitraryBean,Bean, orConstrainedBeandepending on the design requirements of the new class.This class is thread safe.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.beans.PropertyChangeSupportpropertyChangeSupportProvide aPropertyChangeSupporthelper.
-
Constructor Summary
Constructors Constructor Description PropertyChangeSupport()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPropertyChangeListener(java.beans.PropertyChangeListener listener)Add aPropertyChangeListenerto the listener list.voidaddPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)Add aPropertyChangeListenerfor a specific property.voidfireIndexedPropertyChange(java.lang.String propertyName, int index, boolean oldValue, boolean newValue)Fire an indexed property change.voidfireIndexedPropertyChange(java.lang.String propertyName, int index, int oldValue, int newValue)Fire an indexed property change.voidfireIndexedPropertyChange(java.lang.String propertyName, int index, java.lang.Object oldValue, java.lang.Object newValue)Fire an indexed property change.voidfirePropertyChange(java.beans.PropertyChangeEvent event)Fire a property change.voidfirePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)Fire a property change.voidfirePropertyChange(java.lang.String propertyName, int oldValue, int newValue)Fire a property change.voidfirePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)Fire a property change.java.beans.PropertyChangeListener[]getPropertyChangeListeners()Get allPropertyChangeListeners currently attached to this object.java.beans.PropertyChangeListener[]getPropertyChangeListeners(java.lang.String propertyName)Get allPropertyChangeListeners currently listening to changes to the specified property.voidremovePropertyChangeListener(java.beans.PropertyChangeListener listener)Remove the specified listener from this object.voidremovePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)Remove the specified listener of the specified property from this object.
-
-
-
Field Detail
-
propertyChangeSupport
protected final java.beans.PropertyChangeSupport propertyChangeSupport
Provide aPropertyChangeSupporthelper.
-
-
Constructor Detail
-
PropertyChangeSupport
public PropertyChangeSupport()
-
-
Method Detail
-
addPropertyChangeListener
public void addPropertyChangeListener(@CheckForNull java.beans.PropertyChangeListener listener)
Add aPropertyChangeListenerto the listener list.- Specified by:
addPropertyChangeListenerin interfacePropertyChangeProvider- Parameters:
listener- The PropertyChangeListener to be added
-
addPropertyChangeListener
public void addPropertyChangeListener(@CheckForNull java.lang.String propertyName, @CheckForNull java.beans.PropertyChangeListener listener)
Add aPropertyChangeListenerfor a specific property.- Specified by:
addPropertyChangeListenerin interfacePropertyChangeProvider- Parameters:
propertyName- The name of the property to listen on.listener- The PropertyChangeListener to be added
-
getPropertyChangeListeners
public java.beans.PropertyChangeListener[] getPropertyChangeListeners()
Get allPropertyChangeListeners currently attached to this object.- Specified by:
getPropertyChangeListenersin interfacePropertyChangeProvider- Returns:
- An array of PropertyChangeListeners.
-
getPropertyChangeListeners
public java.beans.PropertyChangeListener[] getPropertyChangeListeners(@CheckForNull java.lang.String propertyName)
Get allPropertyChangeListeners currently listening to changes to the specified property.- Specified by:
getPropertyChangeListenersin interfacePropertyChangeProvider- Parameters:
propertyName- the name of the property of interest- Returns:
- an array of PropertyChangeListeners
-
removePropertyChangeListener
public void removePropertyChangeListener(@CheckForNull java.beans.PropertyChangeListener listener)
Remove the specified listener from this object.- Specified by:
removePropertyChangeListenerin interfacePropertyChangeProvider- Parameters:
listener- ThePropertyChangeListenerto remove.
-
removePropertyChangeListener
public void removePropertyChangeListener(@CheckForNull java.lang.String propertyName, @CheckForNull java.beans.PropertyChangeListener listener)
Remove the specified listener of the specified property from this object.- Specified by:
removePropertyChangeListenerin interfacePropertyChangeProvider- Parameters:
propertyName- The name of the property to stop listening to.listener- ThePropertyChangeListenerto remove.
-
fireIndexedPropertyChange
public void fireIndexedPropertyChange(java.lang.String propertyName, int index, boolean oldValue, boolean newValue)
Fire an indexed property change.- Specified by:
fireIndexedPropertyChangein interfacePropertyChangeFirer- Parameters:
propertyName- the programmatic name of the property that was changedindex- the index of the property element that was changedoldValue- the old value of the propertynewValue- the new value of the property
-
fireIndexedPropertyChange
public void fireIndexedPropertyChange(java.lang.String propertyName, int index, int oldValue, int newValue)
Fire an indexed property change.- Specified by:
fireIndexedPropertyChangein interfacePropertyChangeFirer- Parameters:
propertyName- the programmatic name of the property that was changedindex- the index of the property element that was changedoldValue- the old value of the propertynewValue- the new value of the property
-
fireIndexedPropertyChange
public void fireIndexedPropertyChange(java.lang.String propertyName, int index, java.lang.Object oldValue, java.lang.Object newValue)
Fire an indexed property change.- Specified by:
fireIndexedPropertyChangein interfacePropertyChangeFirer- Parameters:
propertyName- the programmatic name of the property that was changedindex- the index of the property element that was changedoldValue- the old value of the propertynewValue- the new value of the property
-
firePropertyChange
public void firePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)
Fire a property change.- Specified by:
firePropertyChangein interfacePropertyChangeFirer- Parameters:
propertyName- the programmatic name of the property that was changedoldValue- the old value of the propertynewValue- the new value of the property
-
firePropertyChange
public void firePropertyChange(java.beans.PropertyChangeEvent event)
Fire a property change.- Specified by:
firePropertyChangein interfacePropertyChangeFirer- Parameters:
event- the PropertyChangeEvent to be fired
-
firePropertyChange
public void firePropertyChange(java.lang.String propertyName, int oldValue, int newValue)
Fire a property change.- Specified by:
firePropertyChangein interfacePropertyChangeFirer- Parameters:
propertyName- the programmatic name of the property that was changedoldValue- the old value of the propertynewValue- the new value of the property
-
firePropertyChange
public void firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
Fire a property change.- Specified by:
firePropertyChangein interfacePropertyChangeFirer- Parameters:
propertyName- the programmatic name of the property that was changedoldValue- the old value of the propertynewValue- the new value of the property
-
-