Class DefaultMaleStringExpressionSocket
- All Implemented Interfaces:
Comparable<NamedBean>,PropertyChangeProvider,Base,Debugable,MaleSocket,MaleStringExpressionSocket,StringExpression,StringExpressionBean,NamedBean
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classNested classes/interfaces inherited from interface jmri.jmrit.logixng.Base
Base.PrintTreeSettings, Base.RunnableWithBase, Base.RunnableWithBaseThrowExceptionNested classes/interfaces inherited from interface jmri.jmrit.logixng.Debugable
Debugable.DebugConfigNested classes/interfaces inherited from interface jmri.jmrit.logixng.MaleSocket
MaleSocket.ErrorHandlingTypeNested 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.AbstractMaleSocket
_localVariablesFields 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
ConstructorsConstructorDescriptionDefaultMaleStringExpressionSocket(BaseManager<? extends NamedBean> manager, StringExpressionBean stringExpression) -
Method Summary
Modifier and TypeMethodDescriptionintcompareSystemNameSuffix(String suffix1, String suffix2, NamedBean n2) Compare the suffix of this NamedBean's name with the suffix of the argument NamedBean's name for theNamedBean.compareTo(jmri.NamedBean)operation.Create a debug configuration for this male socket.describeState(int state) Provide human-readable, localized version of state value.voidDisposes this object.evaluate()Evaluate this expression.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.Get associated comment text.Get the debug configuration for this male socket.Get user name if it exists, otherwise return System name.getProperty(String key) Retrieve the value associated with a key.Retrieve the complete current set of keys.intgetState()Provide generic access to internal state.booleanGet whenether this expression should trigger the ConditionalNG if the named beans it listens to changes state.booleanDetermines whether this male socket is enabled.voidRegister listeners if this object needs that.voidremoveProperty(String key) Remove the key/value pair against the NamedBean.voidsetComment(String comment) Set associated comment text.voidsetDebugConfig(Debugable.DebugConfig config) Set the debug configuration for this male socket.voidsetEnabled(boolean enable) Set whenether this male socket is enabled or disabled.voidsetEnabledFlag(boolean enable) Set whenether this male socket is enabled or disabled, without activating the male socket.voidsetProperty(String key, Object value) Attach a key/value pair to the NamedBean, which can be retrieved later.voidsetState(int s) Provide generic access to internal state.voidsetTriggerOnChange(boolean triggerOnChange) Set whenether this expression should trigger the ConditionalNG if the named beans it listens to changes state.voidRegister listeners if this object needs that.Methods inherited from class jmri.jmrit.logixng.implementation.AbstractMaleSocket
addLocalVariable, addLocalVariable, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, clearLocalVariables, deepCopyChildren, dispose, executeErrorHandlingModule, getCatchAbortExecution, getCategory, getChild, getChildCount, getConditionalNG, getDeepCopy, getErrorHandlingModuleSocket, getErrorHandlingType, getListen, getListenerRef, getListenerRefs, getListenerRefsIncludingChildren, getLocalVariables, getLogixNG, getLongDescription, getManager, getNumPropertyChangeListeners, getObject, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeListenersByReference, getRoot, getShortDescription, getSystemName, getUsageDetail, getUsageTree, getUserName, handleError, handleError, handleError, hasChild, isActive, isErrorHandlingModuleEnabled, isLocked, isSystem, printLocalVariable, printTree, printTree, printTree, printTreeRow, registerListeners, removePropertyChangeListener, removePropertyChangeListener, setCatchAbortExecution, setErrorHandlingType, setListen, setLocked, setParent, setParentForAllChildren, setSystem, setUserName, toString, unregisterListeners, updateListenerRef, vetoableChangeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface jmri.jmrit.logixng.Base
addPropertyChangeListener, addPropertyChangeListener, deepCopyChildren, dispose, doSocketOperation, existsInTree, forEntireTree, forEntireTreeWithException, getCategory, getChild, getChildCount, getConditionalNG, getDeepCopy, getListenerRef, getListenerRefs, getListenerRefsIncludingChildren, getLogixNG, getLongDescription, getLongDescription, getModule, getNumPropertyChangeListeners, getParent, getPropertyChangeListenersByReference, getRoot, getShortDescription, getShortDescription, getSystemName, getUsageDetail, getUsageTree, getUserName, hasChild, isActive, isSocketOperationAllowed, printTree, printTree, printTree, printTree, printTree, registerListeners, setParent, setParentForAllChildren, setUserName, unregisterListeners, updateListenerRef, vetoableChangeMethods inherited from interface jmri.jmrit.logixng.MaleSocket
addLocalVariable, addLocalVariable, clearLocalVariables, find, getCatchAbortExecution, getErrorHandlingType, getListen, getLocalVariables, getManager, getObject, handleError, handleError, handleError, isLocked, isSupportingLocalVariables, isSystem, setCatchAbortExecution, setErrorHandlingType, setListen, setLocked, setSystem, setupMethods inherited from interface jmri.NamedBean
addPropertyChangeListener, addPropertyChangeListener, compareTo, dispose, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getPropertyChangeListenersByReference, getRecommendedToolTip, getSystemName, getUsageReport, getUserName, setUserName, toString, updateListenerRef, vetoableChangeMethods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Constructor Details
-
DefaultMaleStringExpressionSocket
public DefaultMaleStringExpressionSocket(@Nonnull BaseManager<? extends NamedBean> manager, @Nonnull StringExpressionBean stringExpression)
-
-
Method Details
-
getTriggerOnChange
Get whenether this expression should trigger the ConditionalNG if the named beans it listens to changes state.- Specified by:
getTriggerOnChangein interfaceStringExpression- Returns:
- true if trigger on change, false otherwise
-
setTriggerOnChange
Set whenether this expression should trigger the ConditionalNG if the named beans it listens to changes state.- Specified by:
setTriggerOnChangein interfaceStringExpression- Parameters:
triggerOnChange- true if trigger on change, false otherwise
-
evaluate
Evaluate this expression.This method must ensure that the value is not a Double.NaN, negative infinity or positive infinity. If that is the case, it must throw an IllegalArgumentException before checking if an error has occured.
- Specified by:
evaluatein interfaceMaleStringExpressionSocket- Specified by:
evaluatein interfaceStringExpression- Returns:
- the result of the evaluation
- Throws:
JmriException- when an exception occurs
-
getState
Description copied from interface:NamedBeanProvide 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.
-
getDisplayName
Description copied from interface:NamedBeanGet user name if it exists, otherwise return System name.- Specified by:
getDisplayNamein interfaceNamedBean- Returns:
- the user name or system-specific name
-
disposeMe
Description copied from class:AbstractMaleSocketDisposes this object. This must remove _all_ connections!- Specified by:
disposeMein classAbstractMaleSocket
-
registerListenersForThisClass
Register listeners if this object needs that.- Specified by:
registerListenersForThisClassin classAbstractMaleSocket
-
unregisterListenersForThisClass
Register listeners if this object needs that.- Specified by:
unregisterListenersForThisClassin classAbstractMaleSocket
-
setState
Description copied from interface:NamedBeanProvide 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.
- Specified by:
setStatein interfaceNamedBean- Parameters:
s- the state- Throws:
JmriException- general error when setting the state fails
-
describeState
Description copied from interface:NamedBeanProvide human-readable, localized version of state value.This method is intended for use when presenting to a human operator.
- Specified by:
describeStatein interfaceNamedBean- Parameters:
state- the state to describe- Returns:
- the state in localized form
-
getComment
Description copied from interface:BaseGet associated comment text. A LogixNG comment can have multiple lines, separated with \n.- Specified by:
getCommentin interfaceBase- Specified by:
getCommentin interfaceNamedBean- Overrides:
getCommentin classAbstractMaleSocket- Returns:
- the comment or null
-
setComment
Description copied from interface:BaseSet associated comment text.Comments can be any valid text.
- Specified by:
setCommentin interfaceBase- Specified by:
setCommentin interfaceNamedBean- Overrides:
setCommentin classAbstractMaleSocket- Parameters:
comment- the comment or null to remove an existing comment
-
setProperty
Description copied from interface:NamedBeanAttach a key/value pair to the NamedBean, which can be retrieved later. These are not bound properties as yet, and don't throw events on modification. Key must not be null.The key is constrained to String to make these behave like normal Java Beans.
- Specified by:
setPropertyin interfaceNamedBean- Parameters:
key- the property to setvalue- the value of the property
-
getProperty
Description copied from interface:NamedBeanRetrieve the value associated with a key. If no value has been set for that key, returns null.- Specified by:
getPropertyin interfaceNamedBean- Parameters:
key- the property to get- Returns:
- The value of the property or null.
-
removeProperty
Description copied from interface:NamedBeanRemove the key/value pair against the NamedBean.- Specified by:
removePropertyin interfaceNamedBean- Parameters:
key- the property to remove
-
getPropertyKeys
Description copied from interface:NamedBeanRetrieve the complete current set of keys.- Specified by:
getPropertyKeysin interfaceNamedBean- Returns:
- empty set if none
-
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
-
compareSystemNameSuffix
Description copied from interface:NamedBeanCompare the suffix of this NamedBean's name with the suffix of the argument NamedBean's name for theNamedBean.compareTo(jmri.NamedBean)operation. This is intended to be a system-specific comparison that understands the various formats, etc.- Specified by:
compareSystemNameSuffixin interfaceNamedBean- Parameters:
suffix1- The suffix for the 1st bean in the comparisonsuffix2- The suffix for the 2nd bean in the comparisonn2- The other (second) NamedBean in the comparison- Returns:
- -1,0,+1 for ordering if the names are well-formed; may not provide proper ordering if the names are not well-formed.
-
setDebugConfig
Set the debug configuration for this male socket.Each implementation of MaleSocket has their own implementation of DebugConfig. Use reflection to get the proper class <package-name>.debug.<ClassName>Debug that returns a JPanel that can configure debugging for this male socket.
- Specified by:
setDebugConfigin interfaceDebugable- Parameters:
config- the new configuration or null to turn off debugging
-
getDebugConfig
Get the debug configuration for this male socket.- Specified by:
getDebugConfigin interfaceDebugable- Returns:
- the configuration or null if debugging is turned off for this male socket
-
createDebugConfig
Create a debug configuration for this male socket.- Specified by:
createDebugConfigin interfaceDebugable- Returns:
- the new configuration
-
setEnabled
Set whenether this male socket is enabled or disabled.This method must call registerListeners() / unregisterListeners().
- Specified by:
setEnabledin interfaceMaleSocket- Parameters:
enable- true if this male socket should be enabled, false otherwise
-
setEnabledFlag
Set whenether this male socket is enabled or disabled, without activating the male socket. This is used when loading the xml file and when copying an item.This method must call registerListeners() / unregisterListeners().
- Specified by:
setEnabledFlagin interfaceMaleSocket- Parameters:
enable- true if this male socket should be enabled, false otherwise
-
isEnabled
Determines whether this male socket is enabled.- Specified by:
isEnabledin interfaceBase- Specified by:
isEnabledin interfaceMaleSocket- Returns:
- true if the male socket is enabled, false otherwise
-