Listener interface for UI variable changes. The user communicates with the application using the so-called variables . When the user makes a change using the UI the terminal trasmits the changed variables to the application, and the components owning those variables may then process those changes.
The variable-owning components can be linked with dependency relationships . A dependency between two components means that all variable change events to the depended component will be handled before any such events to the depending component.
For example, the commit button for a text field will depend on that text field. This is because we want to handle any pending changes the user makes to the contents on the text field before before we accept the click of the commit button which starts processing the text field contents.
Parameters
source
Source of the variable change. This is the origin of the event. For example in Web Adapter this is the request.
variables
Mapping from variable names to new variable values
Called when one or more variables handled by the implementing class are changed.
Parameters
denpended
the
VariableOwner
component who
this component depends on
Makes this
VariableOwner
depend on the given
VariableOwner
. This means that any variable change
events relating to
depended
must be sent before any
such events that relate to this object.
Parameters
Set of
VariableOwner
s this component directly
depend on,
null
if this component does not depend on
anybody.
Gets the variable change listeners this
VariableOwner
directly depends on. This list does not contain any indirect
dependencies, for example, if A depends on B and B depends on C,
the dependency list of A does not include C.
Parameters
true
if the variable owner is enabled,
false
if not
Tests if the variable owner is enabled or not. The terminal should not send any variable changes to disabled variable owners.
Parameters
true
if the component is in immediate mode,
false
if not
Tests if the variable owner is in immediate mode or not. Being in immediate mode means that all variable changes are required to be sent back from the terminal immediately when they occur.
Note:
VariableOwner
does not include a
set- method for the immediateness property. This is because not all
VariableOwners wish to offer the functionality. Such VariableOwners are
never in the immediate mode, thus they always return
false
in
isImmediate()
.
Parameters
denpended
the component to be removed from this component's dependency list.
Removes the given component from this component's dependency list.
After the call this component will no longer depend on
depended
wdepende direct dependency from the component.
Indirect dependencies are not removed.