Interface VariableOwner

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.

Synopsis

Since

3.0

Inheritance Path.  com.itmill.toolkit.terminal.VariableOwner

changeVariables(Object, Map)

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.

dependsOn(VariableOwner)

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.

getDirectDependencies()

Parameters

return

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.

isEnabled()

Parameters

return

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.

isImmediate()

Parameters

return

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() .

removeDirectDependency(VariableOwner)

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.