Package jmri.jmrit.logixng.expressions
Class Timer
java.lang.Object
jmri.implementation.AbstractNamedBean
jmri.jmrit.logixng.implementation.AbstractBase
jmri.jmrit.logixng.expressions.AbstractDigitalExpression
jmri.jmrit.logixng.expressions.Timer
- All Implemented Interfaces:
Comparable<NamedBean>,PropertyChangeProvider,Base,DigitalExpression,DigitalExpressionBean,NamedBean
An expression that waits some time before returning True.
This expression returns False until some time has elapsed. Then it returns
True once. After that, it returns False again until some time has elapsed.
-
Nested Class Summary
Nested 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
Fields 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.jmrit.logixng.DigitalExpressionBean
FALSE, TRUEFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanevaluate()Evaluate this expression.Get the category.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()Get the delay.getLongDescription(Locale locale) Get a long description of this item.getShortDescription(Locale locale) Get a short description of this item.getUnit()Get the unitvoidsetDelay(int delay) Set the delay.voidsetDelayAddressing(NamedBeanAddressing addressing) voidsetDelayFormula(String formula) voidsetDelayLocalVariable(String localVariable) voidsetDelayReference(String reference) voidSet the unitvoidsetup()Setup this object and its children.Methods inherited from class jmri.jmrit.logixng.expressions.AbstractDigitalExpression
getBeanType, getNewSocketName, getNewSocketName, getParent, getState, notifyChangedResult, setParent, setStateMethods inherited from class jmri.jmrit.logixng.implementation.AbstractBase
assertListenersAreNotRegistered, compareSystemNameSuffix, deepCopyChildren, dispose, disposeMe, getChild, getChildCount, getConditionalNG, getListenerRefsIncludingChildren, getLogixNG, getRoot, getUsageDetail, getUsageTree, isActive, printTree, printTree, printTree, printTreeRow, registerListeners, registerListenersForThisClass, setParentForAllChildren, unregisterListeners, unregisterListenersForThisClassMethods 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, getChild, getChildCount, 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.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
-
Constructor Details
-
Timer
public Timer(String sys, String user) 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.- 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
-
evaluate
Evaluate this expression.- Returns:
- the result of the evaluation
- Throws:
JmriException- when an exception occurs
-
setDelayAddressing
- Throws:
ParserException
-
getDelayAddressing
-
getDelay
Get the delay.- Returns:
- the delay
-
setDelay
Set the delay.- Parameters:
delay- the delay
-
setDelayReference
-
getDelayReference
-
setDelayLocalVariable
-
getDelayLocalVariable
-
setDelayFormula
- Throws:
ParserException
-
getDelayFormula
-
getUnit
Get the unit- Returns:
- the unit
-
setUnit
Set the unit- Parameters:
unit- the unit
-
getShortDescription
Description copied from interface:BaseGet a short description of this item.- Parameters:
locale- The locale to be used- Returns:
- a short description
-
getLongDescription
Description copied from interface:BaseGet a long description of this item.- Parameters:
locale- The locale to be used- Returns:
- a long description
-
setup
Setup this object and its children. This method is used to lookup system names for child sockets, turnouts, sensors, and so on.
-