summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/terminal/VariableOwner.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/com/vaadin/terminal/VariableOwner.java')
-rw-r--r--server/src/com/vaadin/terminal/VariableOwner.java85
1 files changed, 85 insertions, 0 deletions
diff --git a/server/src/com/vaadin/terminal/VariableOwner.java b/server/src/com/vaadin/terminal/VariableOwner.java
new file mode 100644
index 0000000000..c52e04c008
--- /dev/null
+++ b/server/src/com/vaadin/terminal/VariableOwner.java
@@ -0,0 +1,85 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+
+package com.vaadin.terminal;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * <p>
+ * Listener interface for UI variable changes. The user communicates with the
+ * application using the so-called <i>variables</i>. 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.
+ * </p>
+ *
+ * @author Vaadin Ltd.
+ * @version
+ * @VERSION@
+ * @since 3.0
+ * @deprecated in 7.0. Only provided to ease porting of Vaadin 6 components. Do
+ * not implement this directly, implement {@link Vaadin6Component}.
+ */
+@Deprecated
+public interface VariableOwner extends Serializable {
+
+ /**
+ * Called when one or more variables handled by the implementing class are
+ * changed.
+ *
+ * @param source
+ * the Source of the variable change. This is the origin of the
+ * event. For example in Web Adapter this is the request.
+ * @param variables
+ * the Mapping from variable names to new variable values.
+ */
+ public void changeVariables(Object source, Map<String, Object> variables);
+
+ /**
+ * <p>
+ * Tests if the variable owner is enabled or not. The terminal should not
+ * send any variable changes to disabled variable owners.
+ * </p>
+ *
+ * @return <code>true</code> if the variable owner is enabled,
+ * <code>false</code> if not
+ */
+ public boolean isEnabled();
+
+ /**
+ * <p>
+ * 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.
+ * </p>
+ *
+ * <p>
+ * <strong>Note:</strong> <code>VariableOwner</code> 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 <code>false</code>
+ * in {@link #isImmediate()}.
+ * </p>
+ *
+ * @return <code>true</code> if the component is in immediate mode,
+ * <code>false</code> if not.
+ */
+ public boolean isImmediate();
+
+ /**
+ * VariableOwner error event.
+ */
+ public interface ErrorEvent extends Terminal.ErrorEvent {
+
+ /**
+ * Gets the source VariableOwner.
+ *
+ * @return the variable owner.
+ */
+ public VariableOwner getVariableOwner();
+
+ }
+}