Package jmri
Class BeanSetting
- java.lang.Object
-
- jmri.beans.UnboundBean
-
- jmri.beans.Bean
-
- jmri.util.NamedBeanExpectedValue<T,java.lang.Integer>
-
- jmri.util.NamedBeanExpectedState<NamedBean>
-
- jmri.BeanSetting
-
- All Implemented Interfaces:
BeanInterface
,PropertyChangeFirer
,PropertyChangeProvider
,ExpectedState<NamedBean,java.lang.Integer>
@Immutable public class BeanSetting extends NamedBeanExpectedState<NamedBean>
Represent a NamedBean (such as a Turnout) and specific desired setting for it. These can be used to represent the setting a NamedBean has as part of a particular path through a layout, or a condition that has to be true as part of something.Objects of this class are immutable, in that once created the selected bean and required setting cannot be changed. However, the value of the
check()
method does change, because it's a function of the current bean setting(s).
-
-
Field Summary
-
Fields inherited from class jmri.beans.Bean
propertyChangeSupport
-
Fields inherited from interface jmri.ExpectedState
EXPECTED_STATE
-
-
Constructor Summary
Constructors Constructor Description BeanSetting(NamedBean t, int setting)
BeanSetting(NamedBean t, java.lang.String pName, int setting)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
check()
Convenience method; check if the Bean currently has the desired setting.boolean
equals(java.lang.Object obj)
NamedBean
getBean()
java.lang.String
getBeanName()
int
getSetting()
int
hashCode()
void
setExpectedState(java.lang.Integer state)
Set the expected state.-
Methods inherited from class jmri.util.NamedBeanExpectedValue
getExpectedState, getName, getObject
-
Methods inherited from class jmri.beans.Bean
addPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, isNotifyOnEDT, removePropertyChangeListener, removePropertyChangeListener
-
Methods inherited from class jmri.beans.UnboundBean
getIndexedProperty, getProperty, getPropertyNames, hasIndexedProperty, hasProperty, setIndexedProperty, setProperty
-
-
-
-
Constructor Detail
-
BeanSetting
public BeanSetting(NamedBean t, java.lang.String pName, int setting)
-
BeanSetting
public BeanSetting(NamedBean t, int setting)
-
-
Method Detail
-
check
public boolean check()
Convenience method; check if the Bean currently has the desired setting.- Returns:
- true if bean has expected setting; false otherwise
-
getBeanName
public java.lang.String getBeanName()
-
getSetting
public int getSetting()
-
setExpectedState
public void setExpectedState(java.lang.Integer state)
Set the expected state.If UnsupportedOperationException is not thrown, this must fire a
PropertyChangeEvent
with the name "expectedState"This implementation requires a non-null parameter.
This implementation always throws an UnsupportedOperationException since a BeanSetting is immutable.
- Specified by:
setExpectedState
in interfaceExpectedState<NamedBean,java.lang.Integer>
- Overrides:
setExpectedState
in classNamedBeanExpectedState<NamedBean>
- Parameters:
state
- the new expected state- Throws:
java.lang.UnsupportedOperationException
- if called
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-