Package jmri.beans
Class PreferencesBean
- java.lang.Object
-
- jmri.beans.UnboundBean
-
- jmri.beans.Bean
-
- jmri.beans.PreferencesBean
-
- All Implemented Interfaces:
BeanInterface
,PropertyChangeFirer
,PropertyChangeProvider
- Direct Known Subclasses:
CbusPreferences
,DefaultLogixNGPreferences
,HelpUtilPreferences
,LnTcpPreferences
,ShutdownPreferences
,WebServerPreferences
,ZeroConfPreferences
public abstract class PreferencesBean extends Bean
Bean that implements some common code for preferences objects.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DIRTY
Property indicating preferences item do/do not need to be saved.static java.lang.String
RESTART_REQUIRED
Property indicating preferences item requires restart to be applied.-
Fields inherited from class jmri.beans.Bean
propertyChangeSupport
-
-
Constructor Summary
Constructors Constructor Description PreferencesBean(Profile profile)
Create the PreferencesBean.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
firePropertyChange(java.beans.PropertyChangeEvent evt)
Fire a property change.void
firePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)
Fire a property change.void
firePropertyChange(java.lang.String propertyName, int oldValue, int newValue)
Fire a property change.void
firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
Fire a property change.Profile
getProfile()
Get the profile associated with this PreferencesBean.boolean
isDirty()
Check if this preferences bean has a state that needs to be saved.boolean
isRestartRequired()
Check if this preferences bean requires the application to be restarted to take effect.protected void
setIsDirty(boolean value)
Set if preferences need to be saved.protected void
setRestartRequired()
Set if restart needs to be required for some preferences to take effect.-
Methods inherited from class jmri.beans.Bean
addPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, isNotifyOnEDT, removePropertyChangeListener, removePropertyChangeListener
-
Methods inherited from class jmri.beans.UnboundBean
getIndexedProperty, getProperty, getPropertyNames, hasIndexedProperty, hasProperty, setIndexedProperty, setProperty
-
-
-
-
Field Detail
-
DIRTY
public static final java.lang.String DIRTY
Property indicating preferences item do/do not need to be saved. "dirty"- See Also:
- Constant Field Values
-
RESTART_REQUIRED
public static final java.lang.String RESTART_REQUIRED
Property indicating preferences item requires restart to be applied. "restartRequired"- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PreferencesBean
public PreferencesBean(Profile profile)
Create the PreferencesBean.- Parameters:
profile
- the Profile this PreferencesBean is associated with; if null is not associated with a Profile, but applies application wide
-
-
Method Detail
-
getProfile
@Nonnull public Profile getProfile()
Get the profile associated with this PreferencesBean.- Returns:
- the profile
-
isDirty
public boolean isDirty()
Check if this preferences bean has a state that needs to be saved.- Returns:
- true if unsaved; false otherwise
-
isRestartRequired
public boolean isRestartRequired()
Check if this preferences bean requires the application to be restarted to take effect.- Returns:
- true if a restart is required; false otherwise
-
setRestartRequired
protected void setRestartRequired()
Set if restart needs to be required for some preferences to take effect.
-
setIsDirty
protected void setIsDirty(boolean value)
Set if preferences need to be saved.- Parameters:
value
- true to indicate need to save; false otherwise
-
firePropertyChange
public void firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
Fire a property change.As a side effect, calls to
isDirty
will returntrue
if oldValue and newValue differ or are null.- Specified by:
firePropertyChange
in interfacePropertyChangeFirer
- Overrides:
firePropertyChange
in classBean
- 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, boolean oldValue, boolean newValue)
Fire a property change.As a side effect, calls to
isDirty
will returntrue
if oldValue and newValue differ and propertyName is not "dirty".- Specified by:
firePropertyChange
in interfacePropertyChangeFirer
- Overrides:
firePropertyChange
in classBean
- 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, int oldValue, int newValue)
Fire a property change.As a side effect, calls to
isDirty
will returntrue
if oldValue and newValue differ.- Specified by:
firePropertyChange
in interfacePropertyChangeFirer
- Overrides:
firePropertyChange
in classBean
- 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 evt)
Fire a property change.As a side effect, calls to
isDirty
will returntrue
. To avoid that side effect, callPropertyChangeSupport.firePropertyChange(java.beans.PropertyChangeEvent)
onBean.propertyChangeSupport
directly.- Specified by:
firePropertyChange
in interfacePropertyChangeFirer
- Overrides:
firePropertyChange
in classBean
- Parameters:
evt
- the PropertyChangeEvent to be fired
-
-