Package jmri.jmrit.logixng.actions
Class ActionTimer
java.lang.Object
jmri.implementation.AbstractNamedBean
jmri.jmrit.logixng.implementation.AbstractBase
jmri.jmrit.logixng.actions.AbstractDigitalAction
jmri.jmrit.logixng.actions.ActionTimer
- All Implemented Interfaces:
Comparable<NamedBean>,PropertyChangeProvider,Base,DigitalAction,DigitalActionBean,FemaleSocketListener,NamedBean
Executes an action after some time.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface jmri.jmrit.logixng.Base
Base.PrintTreeSettings, Base.RunnableWithBase, Base.RunnableWithBaseThrowExceptionNested classes/interfaces inherited from interface jmri.NamedBean
NamedBean.BadNameException, NamedBean.BadSystemNameException, NamedBean.BadUserNameException, NamedBean.DisplayOptions, NamedBean.DuplicateSystemNameException -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intFields inherited from class jmri.jmrit.logixng.implementation.AbstractBase
_listenersAreRegisteredFields inherited from class jmri.implementation.AbstractNamedBean
listenerRefs, mSystemName, registerFields inherited from interface jmri.jmrit.logixng.Base
PRINT_LINE_NUMBERS_FORMAT, PROPERTY_CHILD_COUNT, PROPERTY_CHILD_REORDER, PROPERTY_LAST_RESULT_CHANGED, PROPERTY_SOCKET_CONNECTED, PROPERTY_SOCKET_DISCONNECTED, SEPARATOR, SOCKET_CONNECTED, SOCKET_DISCONNECTEDFields inherited from interface jmri.NamedBean
DISPLAY_NAME_FORMAT, INCONSISTENT, PROPERTY_COMMENT, PROPERTY_ENABLED, PROPERTY_KNOWN_STATE, PROPERTY_STATE, PROPERTY_USERNAME, QUOTED_NAME_FORMAT, UNKNOWN -
Constructor Summary
ConstructorsConstructorDescriptionActionTimer(String sys, String user) ActionTimer(String sys, String user, List<Map.Entry<String, String>> expressionSystemNames, List<ActionTimer.ActionData> actionDataList) -
Method Summary
Modifier and TypeMethodDescriptionvoidconnected(FemaleSocket socket) The socket is connected.voiddisconnected(FemaleSocket socket) The socket is disconnected.voidDispose this class.voidexecute()Execute this DigitalActionBean.getActionSocket(int socket) getActionSocketSystemName(int socket) Get the category.getChild(int index) Get a child of this itemintGet the number of children.Create a deep copy of myself and my children The item needs to try to lookup itself in both systemNames and userNames to see if the user has given a new system name and/or a new user name.If no new system name is given, an auto system name is used.intgetDelay(int actionSocket) Get the delay.Is both start and stop is controlled by the start expression.getLongDescription(Locale locale) Get a long description of this item.intgetShortDescription(Locale locale) Get a short description of this item.getUnit()Get the unitbooleanIs delays given by local variables?booleanGet if run continuouslybooleanIs both start and stop is controlled by the start expression.booleanGet if to start immediatelyvoidRegister listeners if this object needs that.voidsetActionSocketSystemName(int socket, String systemName) voidsetDelay(int actionSocket, int delay) Set the delay.voidsetDelayByLocalVariables(boolean value) Set if delays should be given by local variables.voidSet if both start and stop is controlled by the start expression.voidsetNumActions(int num) voidsetRunContinuously(boolean runContinuously) Set if run continuouslyvoidsetStartAndStopByStartExpression(boolean startAndStopByStartExpression) Set if both start and stop is controlled by the start expression.voidsetStartExpressionSocketSystemName(String systemName) voidsetStartImmediately(boolean startImmediately) Set if to start immediatelyvoidsetStopExpressionSocketSystemName(String systemName) voidSet the unitvoidsetup()Setup this object and its children.voidUnregister listeners if this object needs that.Methods inherited from class jmri.jmrit.logixng.actions.AbstractDigitalAction
getBeanType, getNewSocketName, getNewSocketName, getParent, getPreferredSocketPrefix, getState, setParent, setStateMethods inherited from class jmri.jmrit.logixng.implementation.AbstractBase
assertListenersAreNotRegistered, compareSystemNameSuffix, deepCopyChildren, dispose, getConditionalNG, getListenerRefsIncludingChildren, getLogixNG, getRoot, getUsageDetail, getUsageTree, isActive, printTree, printTree, printTree, printTreeRow, registerListeners, setParentForAllChildren, unregisterListenersMethods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, describeState, 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, vetoableChangeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface jmri.jmrit.logixng.Base
addPropertyChangeListener, addPropertyChangeListener, deepCopyChildren, dispose, doSocketOperation, existsInTree, forEntireTree, forEntireTreeWithException, getComment, getConditionalNG, getListenerRef, getListenerRefs, getListenerRefsIncludingChildren, getLogixNG, getLongDescription, getModule, getNumPropertyChangeListeners, getPropertyChangeListenersByReference, getRoot, getShortDescription, getSystemName, getUsageDetail, getUsageTree, getUserName, hasChild, isActive, isEnabled, isSocketOperationAllowed, printTree, printTree, printTree, printTree, printTree, registerListeners, setComment, setParentForAllChildren, setUserName, unregisterListeners, updateListenerRef, vetoableChangeMethods inherited from interface jmri.jmrit.logixng.FemaleSocketListener
socketNameChangedMethods inherited from interface jmri.NamedBean
addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, compareTo, describeState, dispose, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListenersByReference, getPropertyKeys, getRecommendedToolTip, getSystemName, getUsageReport, getUserName, removeProperty, setComment, setProperty, setUserName, toString, updateListenerRef, vetoableChangeMethods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Field Details
-
EXPRESSION_START
- See Also:
-
EXPRESSION_STOP
- See Also:
-
NUM_STATIC_EXPRESSIONS
- See Also:
-
-
Constructor Details
-
ActionTimer
-
ActionTimer
public ActionTimer(String sys, String user, List<Map.Entry<String, String>> expressionSystemNames, List<ActionTimer.ActionData> actionDataList) throws NamedBean.BadUserNameException, NamedBean.BadSystemNameException
-
-
Method Details
-
getDeepCopy
public Base getDeepCopy(Map<String, String> systemNames, Map<String, throws JmriExceptionString> userNames) Description copied from interface:BaseCreate a deep copy of myself and my children The item needs to try to lookup itself in both systemNames and userNames to see if the user has given a new system name and/or a new user name.If no new system name is given, an auto system name is used. If no user name is given, a null user name is used.- Specified by:
getDeepCopyin interfaceBase- Parameters:
systemNames- a map of old and new system nameuserNames- a map of old system name and new user name- Returns:
- a deep copy
- Throws:
JmriException- in case of an error
-
getCategory
Get the category.- Specified by:
getCategoryin interfaceBase- Overrides:
getCategoryin classAbstractBase- Returns:
- the category
-
execute
Execute this DigitalActionBean.- Specified by:
executein interfaceDigitalAction- Throws:
JmriException- when an exception occurs
-
getDelay
Get the delay.- Parameters:
actionSocket- the socket- Returns:
- the delay
-
setDelay
Set the delay.- Parameters:
actionSocket- the socketdelay- the delay
-
isStartImmediately
Get if to start immediately- Returns:
- true if to start immediately
-
setStartImmediately
Set if to start immediately- Parameters:
startImmediately- true if to start immediately
-
isRunContinuously
Get if run continuously- Returns:
- true if run continuously
-
setRunContinuously
Set if run continuously- Parameters:
runContinuously- true if run continuously
-
isStartAndStopByStartExpression
Is both start and stop is controlled by the start expression.- Returns:
- true if to start immediately
-
setStartAndStopByStartExpression
Set if both start and stop is controlled by the start expression.- Parameters:
startAndStopByStartExpression- true if to start immediately
-
getUnit
Get the unit- Returns:
- the unit
-
setUnit
Set the unit- Parameters:
unit- the unit
-
isDelayByLocalVariables
Is delays given by local variables?- Returns:
- value true if delay is given by local variables
-
setDelayByLocalVariables
Set if delays should be given by local variables.- Parameters:
value- true if delay is given by local variables
-
getDelayLocalVariablePrefix
Is both start and stop is controlled by the start expression.- Returns:
- true if to start immediately
-
setDelayLocalVariablePrefix
Set if both start and stop is controlled by the start expression.- Parameters:
value- true if to start immediately
-
getChild
public FemaleSocket getChild(int index) throws IllegalArgumentException, UnsupportedOperationException Description copied from class:AbstractBaseGet a child of this item- Specified by:
getChildin interfaceBase- Overrides:
getChildin classAbstractBase- Parameters:
index- the index of the child to get- Returns:
- the child
- Throws:
IllegalArgumentException- if the index is less than 0 or greater or equal with the value returned by getChildCount()UnsupportedOperationException- when needed
-
getChildCount
Description copied from class:AbstractBaseGet the number of children.- Specified by:
getChildCountin interfaceBase- Overrides:
getChildCountin classAbstractBase- Returns:
- the number of children
-
connected
Description copied from interface:FemaleSocketListenerThe socket is connected.- Specified by:
connectedin interfaceFemaleSocketListener- Parameters:
socket- the socket
-
disconnected
Description copied from interface:FemaleSocketListenerThe socket is disconnected.- Specified by:
disconnectedin interfaceFemaleSocketListener- Parameters:
socket- the socket
-
getShortDescription
Description copied from interface:BaseGet a short description of this item.- Specified by:
getShortDescriptionin interfaceBase- Parameters:
locale- The locale to be used- Returns:
- a short description
-
getLongDescription
Description copied from interface:BaseGet a long description of this item.- Specified by:
getLongDescriptionin interfaceBase- Parameters:
locale- The locale to be used- Returns:
- a long description
-
getStartExpressionSocket
-
getStartExpressionSocketSystemName
-
setStartExpressionSocketSystemName
-
getStopExpressionSocket
-
getStopExpressionSocketSystemName
-
setStopExpressionSocketSystemName
-
getNumActions
-
setNumActions
-
getActionSocket
-
getActionSocketSystemName
-
setActionSocketSystemName
-
setup
Setup this object and its children. This method is used to lookup system names for child sockets, turnouts, sensors, and so on. -
registerListenersForThisClass
Register listeners if this object needs that.Important: This method may be called more than once. Methods overriding this method must ensure that listeners are not registered more than once.
- Overrides:
registerListenersForThisClassin classAbstractBase
-
unregisterListenersForThisClass
Unregister listeners if this object needs that.Important: This method may be called more than once. Methods overriding this method must ensure that listeners are not unregistered more than once.
- Overrides:
unregisterListenersForThisClassin classAbstractBase
-
disposeMe
Dispose this class. Listeners do not need to be unregistered by this method since they are unregistered by dispose().- Overrides:
disposeMein classAbstractBase
-