Package jmri.jmrit.logixng
Interface BaseManager<E extends NamedBean>
-
- Type Parameters:
E
- the type of NamedBean supported by this manager
- All Superinterfaces:
Manager<E>
,PropertyChangeProvider
,SilenceablePropertyChangeProvider
,VetoableChangeProvider
- All Known Subinterfaces:
AnalogActionManager
,AnalogExpressionManager
,DigitalActionManager
,DigitalBooleanActionManager
,DigitalExpressionManager
,StringActionManager
,StringExpressionManager
- All Known Implementing Classes:
AbstractBaseManager
,DefaultAnalogActionManager
,DefaultAnalogExpressionManager
,DefaultDigitalActionManager
,DefaultDigitalBooleanActionManager
,DefaultDigitalExpressionManager
,DefaultStringActionManager
,DefaultStringExpressionManager
public interface BaseManager<E extends NamedBean> extends Manager<E>
Base interface for the LogixNG action and expression managers.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jmri.Manager
Manager.ManagerDataEvent<E extends NamedBean>, Manager.ManagerDataListener<E extends NamedBean>, Manager.NameValidity
-
-
Field Summary
-
Fields inherited from interface jmri.Manager
ANALOGIOS, AUDIO, BLOCKBOSS, BLOCKS, CONDITIONALS, CTCDATA, ENTRYEXIT, IDTAGS, LAYOUTBLOCKS, LIGHTS, LOGIXNG_ANALOG_ACTIONS, LOGIXNG_ANALOG_EXPRESSIONS, LOGIXNG_CONDITIONALNGS, LOGIXNG_DIGITAL_ACTIONS, LOGIXNG_DIGITAL_BOOLEAN_ACTIONS, LOGIXNG_DIGITAL_EXPRESSIONS, LOGIXNG_GLOBAL_VARIABLES, LOGIXNG_MODULES, LOGIXNG_STRING_ACTIONS, LOGIXNG_STRING_EXPRESSIONS, LOGIXNG_TABLES, LOGIXNGS, LOGIXS, MEMORIES, METERFRAMES, METERS, OBLOCKS, PANELFILES, REPORTERS, ROUTES, SECTIONS, SENSORGROUPS, SENSORS, SIGNALGROUPS, SIGNALHEADS, SIGNALMASTLOGICS, SIGNALMASTS, STRINGIOS, TIMEBASE, TRANSITS, TURNOUTS, WARRANTS
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
deleteBean(MaleSocket maleSocket, java.lang.String property)
Method for a UI to delete a bean.MaleSocket
getLastRegisteredMaleSocket()
Get the last item registered in the mananger.java.lang.Class<? extends MaleSocket>
getMaleSocketClass()
Get the default male socket classE
registerBean(E maleSocket)
Remember a NamedBean Object created outside the manager.void
registerMaleSocketFactory(MaleSocketFactory<E> factory)
Register a male socket factory.-
Methods inherited from interface jmri.Manager
addDataListener, deleteBean, deregister, dispose, getBeanTypeHandled, getBeanTypeHandled, getBySystemName, getByUserName, getEntryToolTip, getKnownBeanProperties, getMemo, getNamedBean, getNamedBeanClass, getNamedBeanSet, getObjectCount, getSubSystemNamePrefix, getSystemNamePrefix, getSystemPrefix, getXMLOrder, isValidSystemNameFormat, makeSystemName, makeSystemName, makeSystemName, register, removeDataListener, setDataListenerMute, typeLetter, validateBadCharsInSystemNameFormat, validateIntegerSystemNameFormat, validateNmraAccessorySystemNameFormat, validateSystemNameFormat, validateSystemNameFormat, validateSystemNameFormatOnlyNumeric, validateSystemNamePrefix, validateTrimmedMin1NumberSystemNameFormat, validateTrimmedSystemNameFormat, validateUppercaseTrimmedSystemNameFormat, validSystemNameFormat
-
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Methods inherited from interface jmri.beans.SilenceablePropertyChangeProvider
setPropertyChangesSilenced
-
Methods inherited from interface jmri.beans.VetoableChangeProvider
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
-
-
-
Method Detail
-
registerBean
E registerBean(@Nonnull E maleSocket)
Remember a NamedBean Object created outside the manager.The non-system-specific SignalHeadManagers use this method extensively.
- Parameters:
maleSocket
- the bean- Returns:
- the registered bean with attached male sockets
- Throws:
NamedBean.DuplicateSystemNameException
- if a different bean with the same system name is already registered in the manager
-
deleteBean
void deleteBean(@Nonnull MaleSocket maleSocket, @Nonnull java.lang.String property) throws java.beans.PropertyVetoException
Method for a UI to delete a bean.The UI should first request a "CanDelete", this will return a list of locations (and descriptions) where the bean is in use via throwing a VetoException, then if that comes back clear, or the user agrees with the actions, then a "DoDelete" can be called which inform the listeners to delete the bean, then it will be deregistered and disposed of.
If a property name of "DoNotDelete" is thrown back in the VetoException then the delete process should be aborted.
- Parameters:
maleSocket
- The MaleSocket to be deletedproperty
- The programmatic name of the request. "CanDelete" will enquire with all listeners if the item can be deleted. "DoDelete" tells the listener to delete the item- Throws:
java.beans.PropertyVetoException
- If the recipients wishes the delete to be aborted (see above)
-
getMaleSocketClass
java.lang.Class<? extends MaleSocket> getMaleSocketClass()
Get the default male socket class- Returns:
- the class
-
getLastRegisteredMaleSocket
MaleSocket getLastRegisteredMaleSocket()
Get the last item registered in the mananger.- Returns:
- the last item
-
registerMaleSocketFactory
void registerMaleSocketFactory(MaleSocketFactory<E> factory)
Register a male socket factory.- Parameters:
factory
- the factory
-
-