Class DefaultSignalAppearanceMap
- java.lang.Object
-
- jmri.implementation.AbstractNamedBean
-
- jmri.implementation.DefaultSignalAppearanceMap
-
- All Implemented Interfaces:
java.lang.Comparable<NamedBean>,PropertyChangeProvider,NamedBean,SignalAppearanceMap
public class DefaultSignalAppearanceMap extends AbstractNamedBean implements SignalAppearanceMap
Default implementation of a basic signal mast aspect - appearance mapping.The default contents are taken from the NamedBeanBundle properties file. This makes creation a little more heavy-weight, but speeds operation.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jmri.NamedBean
NamedBean.BadNameException, NamedBean.BadSystemNameException, NamedBean.BadUserNameException, NamedBean.DisplayOptions, NamedBean.DuplicateSystemNameException
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Hashtable<java.lang.String,java.util.Hashtable<java.lang.String,java.lang.String>>aspectAttributeMapprotected java.util.Hashtable<java.lang.String,java.util.Hashtable<java.lang.String,java.lang.String>>aspectImageMapprotected java.util.Hashtable<java.lang.String,java.lang.String[]>aspectRelationshipMap(package private) static java.util.HashMap<java.lang.String,DefaultSignalAppearanceMap>mapsprotected java.util.Hashtable<java.lang.Integer,java.lang.String>specificMapsprotected SignalSystemsystemDefnprotected java.util.HashMap<java.lang.String,int[]>table-
Fields inherited from class jmri.implementation.AbstractNamedBean
listenerRefs, mSystemName, register
-
Fields inherited from interface jmri.NamedBean
DISPLAY_NAME_FORMAT, INCONSISTENT, PROPERTY_COMMENT, PROPERTY_ENABLED, PROPERTY_KNOWN_STATE, PROPERTY_STATE, PROPERTY_USERNAME, QUOTED_NAME_FORMAT, UNKNOWN
-
Fields inherited from interface jmri.SignalAppearanceMap
DANGER, DARK, HELD, PERMISSIVE
-
-
Constructor Summary
Constructors Constructor Description DefaultSignalAppearanceMap(java.lang.String systemName)DefaultSignalAppearanceMap(java.lang.String systemName, java.lang.String userName)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAspect(java.lang.String aspect, int[] appearances)booleancheckAspect(java.lang.String aspect)Check if an aspect can be displayed.static DefaultSignalAppearanceMapfindMap(java.lang.String systemName)java.util.Enumeration<java.lang.String>getAspects()Provide the Aspect elements to GUI and store methods.int[]getAspectSettings(java.lang.String aspect)java.lang.StringgetBeanType()For instances in the code where we are dealing with just a bean and a message needs to be passed to the user or in a log.java.lang.StringgetImageLink(java.lang.String aspect, java.lang.String type)Get an Image Link associated with a specific aspect and typejava.util.Vector<java.lang.String>getImageTypes(java.lang.String aspect)Get a list of valid icon sets.static DefaultSignalAppearanceMapgetMap(java.lang.String signalSystemName, java.lang.String aspectMapName)java.lang.StringgetProperty(java.lang.String aspect, java.lang.String key)Get a property associated with a specific aspect.SignalSystemgetSignalSystem()Get the associated signal system and the common information it contains.java.lang.StringgetSpecificAppearance(int appearance)Return the aspect for a specific appearance.intgetState()Provide generic access to internal state.java.lang.String[]getValidAspectsForAdvancedAspect(java.lang.String advancedAspect)Get a list of potential aspects that we could set the SignalMast to, given the state of the advanced signal mast.(package private) static voidloadAspectRelationMap(java.lang.String signalSystemName, java.lang.String aspectMapName, DefaultSignalAppearanceMap SMmap, org.jdom2.Element root)voidloadDefaults()(package private) static voidloadImageMaps(java.util.List<org.jdom2.Element> img, java.lang.String name, DefaultSignalAppearanceMap map)(package private) static DefaultSignalAppearanceMaploadMap(java.lang.String signalSystemName, java.lang.String aspectMapName)(package private) static voidloadSpecificAspect(java.lang.String signalSystemName, java.lang.String aspectMapName, int aspectType, DefaultSignalAppearanceMap SMmap, org.jdom2.Element root)(package private) static voidloadSpecificMap(java.lang.String signalSystemName, java.lang.String aspectMapName, DefaultSignalAppearanceMap SMmap, org.jdom2.Element root)protected voidregisterMap()voidsetSignalSystem(SignalSystem t)voidsetState(int s)Provide generic access to internal state.java.lang.Stringsummary()Provide a multi-line summary of the signal system content, typically for printing.-
Methods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, describeState, dispose, equals, firePropertyChange, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUserName, hashCode, removeProperty, removePropertyChangeListener, removePropertyChangeListener, setComment, setProperty, setUserName, toString, toStringSuffix, updateListenerRef, vetoableChange
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jmri.NamedBean
compareTo, getRecommendedToolTip, getUsageReport
-
-
-
-
Field Detail
-
aspectAttributeMap
protected java.util.Hashtable<java.lang.String,java.util.Hashtable<java.lang.String,java.lang.String>> aspectAttributeMap
-
aspectImageMap
protected java.util.Hashtable<java.lang.String,java.util.Hashtable<java.lang.String,java.lang.String>> aspectImageMap
-
maps
static java.util.HashMap<java.lang.String,DefaultSignalAppearanceMap> maps
-
specificMaps
protected java.util.Hashtable<java.lang.Integer,java.lang.String> specificMaps
-
aspectRelationshipMap
protected java.util.Hashtable<java.lang.String,java.lang.String[]> aspectRelationshipMap
-
systemDefn
protected SignalSystem systemDefn
-
table
protected java.util.HashMap<java.lang.String,int[]> table
-
-
Constructor Detail
-
DefaultSignalAppearanceMap
public DefaultSignalAppearanceMap(java.lang.String systemName, java.lang.String userName)
-
DefaultSignalAppearanceMap
public DefaultSignalAppearanceMap(java.lang.String systemName)
-
-
Method Detail
-
getBeanType
public java.lang.String getBeanType()
Description copied from interface:NamedBeanFor instances in the code where we are dealing with just a bean and a message needs to be passed to the user or in a log.- Specified by:
getBeanTypein interfaceNamedBean- Returns:
- a string of the bean type, eg Turnout, Sensor etc
-
getMap
public static DefaultSignalAppearanceMap getMap(java.lang.String signalSystemName, java.lang.String aspectMapName)
-
registerMap
protected void registerMap()
-
findMap
public static DefaultSignalAppearanceMap findMap(java.lang.String systemName)
-
loadMap
static DefaultSignalAppearanceMap loadMap(java.lang.String signalSystemName, java.lang.String aspectMapName)
-
loadImageMaps
static void loadImageMaps(java.util.List<org.jdom2.Element> img, java.lang.String name, DefaultSignalAppearanceMap map)
-
loadSpecificMap
static void loadSpecificMap(java.lang.String signalSystemName, java.lang.String aspectMapName, DefaultSignalAppearanceMap SMmap, org.jdom2.Element root)
-
loadSpecificAspect
static void loadSpecificAspect(java.lang.String signalSystemName, java.lang.String aspectMapName, int aspectType, DefaultSignalAppearanceMap SMmap, org.jdom2.Element root)
-
loadAspectRelationMap
static void loadAspectRelationMap(java.lang.String signalSystemName, java.lang.String aspectMapName, DefaultSignalAppearanceMap SMmap, org.jdom2.Element root)
-
getProperty
public java.lang.String getProperty(java.lang.String aspect, java.lang.String key)
Get a property associated with a specific aspect.- Specified by:
getPropertyin interfaceSignalAppearanceMap- Parameters:
aspect- the aspect containing the propertykey- the property key- Returns:
- the property value or null if none is defined for key
-
getImageLink
public java.lang.String getImageLink(java.lang.String aspect, java.lang.String type)
Description copied from interface:SignalAppearanceMapGet an Image Link associated with a specific aspect and type- Specified by:
getImageLinkin interfaceSignalAppearanceMap- Parameters:
aspect- the aspecttype- the image link key- Returns:
- the image link or an empty String if none is defined
-
getImageTypes
public java.util.Vector<java.lang.String> getImageTypes(java.lang.String aspect)
Description copied from interface:SignalAppearanceMapGet a list of valid icon sets.- Specified by:
getImageTypesin interfaceSignalAppearanceMap- Parameters:
aspect- the aspect to get icon sets for- Returns:
- a list of sets or an empty list if none are defined
-
loadDefaults
public void loadDefaults()
-
checkAspect
public boolean checkAspect(java.lang.String aspect)
Description copied from interface:SignalAppearanceMapCheck if an aspect can be displayed.- Specified by:
checkAspectin interfaceSignalAppearanceMap- Parameters:
aspect- the aspect to check- Returns:
- true if the aspect can be displayed; false otherwise
-
addAspect
public void addAspect(java.lang.String aspect, int[] appearances)
-
getAspects
public java.util.Enumeration<java.lang.String> getAspects()
Provide the Aspect elements to GUI and store methods.- Specified by:
getAspectsin interfaceSignalAppearanceMap- Returns:
- all aspects in this signal mast appearance map, in the order defined in xml definition
-
getSpecificAppearance
public java.lang.String getSpecificAppearance(int appearance)
Description copied from interface:SignalAppearanceMapReturn the aspect for a specific appearance.- Specified by:
getSpecificAppearancein interfaceSignalAppearanceMap- Parameters:
appearance- the appearance- Returns:
- the aspect
-
getValidAspectsForAdvancedAspect
public java.lang.String[] getValidAspectsForAdvancedAspect(java.lang.String advancedAspect)
Get a list of potential aspects that we could set the SignalMast to, given the state of the advanced signal mast.- Specified by:
getValidAspectsForAdvancedAspectin interfaceSignalAppearanceMap- Parameters:
advancedAspect- the aspect- Returns:
- a string array of potential aspects or null if none defined
-
getSignalSystem
public SignalSystem getSignalSystem()
Description copied from interface:SignalAppearanceMapGet the associated signal system and the common information it contains.- Specified by:
getSignalSystemin interfaceSignalAppearanceMap- Returns:
- the signal system
-
setSignalSystem
public void setSignalSystem(SignalSystem t)
-
getState
public int getState()
Provide generic access to internal state.This generally shouldn't be used by Java code; use the class-specific form instead (e.g. getCommandedState in Turnout). This is provided to make scripts easier to read. This method returns a constant result on the DefaultSignalAppearanceMap.
- Specified by:
getStatein interfaceNamedBean- Returns:
NamedBean.INCONSISTENT
-
setState
public void setState(int s)
Provide generic access to internal state.This generally shouldn't be used by Java code; use the class-specific form instead (e.g. setCommandedState in Turnout). This is provided to make scripts access easier to read. This method has no effect on the DefaultSignalAppearanceMap.
-
getAspectSettings
public int[] getAspectSettings(java.lang.String aspect)
-
summary
public java.lang.String summary()
Description copied from interface:SignalAppearanceMapProvide a multi-line summary of the signal system content, typically for printing.Not intended for further parsing, i.e. for persistence, as format likely to differ from type to type, and to change often.
- Specified by:
summaryin interfaceSignalAppearanceMap- Returns:
- summary string.
-
-