]> source.dussan.org Git - vaadin-framework.git/commitdiff
Patch #4 from #3234 "JavaDoc and ClientEventList Update"
authorArtur Signell <artur.signell@itmill.com>
Mon, 23 Nov 2009 14:15:17 +0000 (14:15 +0000)
committerArtur Signell <artur.signell@itmill.com>
Mon, 23 Nov 2009 14:15:17 +0000 (14:15 +0000)
svn changeset:9959/svn branch:event-framework-3234

src/com/vaadin/event/ClientEventList.java
src/com/vaadin/event/FieldEvents.java
src/com/vaadin/event/MouseEvents.java
src/com/vaadin/terminal/gwt/client/ComponentEventHandler.java
src/com/vaadin/ui/AbstractComponent.java

index 633026ca8b9ed642e82c053dfea21539e7f0b613..e2008085c4b74ad543329a123389e20879db4772 100644 (file)
@@ -9,11 +9,13 @@ import java.util.Map;
 \r
 /**\r
  * \r
- * this class is used to store the registered events so a list of the required\r
- * client event identifiers (that the client-side should listen for and send to\r
- * the server-side) can be sent to the client-side via a variable.\r
+ * <code>ClientEventList</code> class used to store the registered events so a\r
+ * list of the required client event identifiers (that the client-side should\r
+ * listen for and send to the server-side) can be sent to the client-side via a\r
+ * variable.\r
  * \r
  * @author davengo GmbH (Germany/Berlin, www.davengo.com)\r
+ * @since 6.2\r
  * \r
  */\r
 public class ClientEventList {\r
@@ -21,11 +23,15 @@ public class ClientEventList {
     /**\r
      * the list containing the registered client events (as strings for\r
      * client-side transfer)\r
+     * \r
+     * @since 6.2\r
      */\r
     private Map<String, Integer> clientEvents = null;\r
 \r
     /**\r
      * initializes the list if necessary\r
+     * \r
+     * @since 6.2\r
      */\r
     private void checkList() {\r
         if (clientEvents == null) {\r
@@ -40,14 +46,23 @@ public class ClientEventList {
      * \r
      * @param eventIdentifier\r
      *            the identifier of the event to listen for\r
+     * \r
+     * @return true, if the event is newly added to the list<br>\r
+     *         false, if the list already contained the event (the internal\r
+     *         counter was incremented)\r
+     * \r
+     * @since 6.2\r
      */\r
-    public void listenEvent(String eventIdentifier) {\r
+    public boolean listenEvent(String eventIdentifier) {\r
         checkList();\r
-        if (!clientEvents.keySet().contains(eventIdentifier))\r
+        if (!clientEvents.keySet().contains(eventIdentifier)) {\r
             clientEvents.put(eventIdentifier, 1);\r
-        else\r
+            return true;\r
+        } else {\r
             clientEvents.put(eventIdentifier,\r
                     clientEvents.get(eventIdentifier) + 1);\r
+            return false;\r
+        }\r
     }\r
 \r
     /**\r
@@ -58,19 +73,28 @@ public class ClientEventList {
      * \r
      * @param eventIdentifier\r
      *            the identifier of the event to stop listening for\r
+     * @return true, if the event was removed from the list<br>\r
+     *         false, if the event is hold in list (the internal counter was\r
+     *         greater than zero)\r
      */\r
-    public void unlistenEvent(String eventIdentifier) {\r
+    public boolean unlistenEvent(String eventIdentifier) {\r
         checkList();\r
         if (clientEvents.keySet().contains(eventIdentifier)) {\r
             clientEvents.put(eventIdentifier,\r
                     clientEvents.get(eventIdentifier) - 1);\r
-            if (clientEvents.get(eventIdentifier) <= 0)\r
+            if (clientEvents.get(eventIdentifier) <= 0) {\r
                 clientEvents.remove(eventIdentifier);\r
+                return true;\r
+            }\r
+            return false;\r
         }\r
+        return false;\r
     }\r
 \r
     /**\r
      * @return a string array containing all registered events\r
+     * \r
+     * @since 6.2\r
      */\r
     public String[] getEvents() {\r
         if (clientEvents == null) {\r
index ab81ac85c0dc814af9d03d62a3e9690bda9a0f49..3becb58aef01747e81f59e544c5d2accd72b9779 100644 (file)
@@ -1,3 +1,7 @@
+/* \r
+@ITMillApache2LicenseForJavaFiles@\r
+ */\r
+\r
 package com.vaadin.event;\r
 \r
 import java.lang.reflect.Method;\r
@@ -7,10 +11,12 @@ import com.vaadin.ui.Component;
 \r
 public interface FieldEvents {\r
 \r
-    /*\r
-     * component focus event and listener\r
+    /**\r
+     * <code>FocusEvent</code> class for holding additional event information.\r
+     * Fired when a <code>Field</code> receives keyboard focus.\r
+     * \r
+     * @since 6.2\r
      */\r
-\r
     public class FocusEvent extends Component.Event {\r
 \r
         private static final long serialVersionUID = -7644184999481404162L;\r
@@ -20,6 +26,13 @@ public interface FieldEvents {
         }\r
     }\r
 \r
+    /**\r
+     * <code>FocusListener</code> interface for listening for\r
+     * <code>FocusEvent</code> fired by a <code>Field</code>.\r
+     * \r
+     * @see FocusEvent\r
+     * @since 6.2\r
+     */\r
     public interface FocusListener extends ComponentEventListener {\r
 \r
         public static final Method focusMethod = ReflectTools.findMethod(\r
@@ -34,10 +47,12 @@ public interface FieldEvents {
         public void focus(FocusEvent event);\r
     }\r
 \r
-    /*\r
-     * component blur event and listener\r
+    /**\r
+     * <code>BlurEvent</code> class for holding additional event information.\r
+     * Fired when a <code>Field</code> loses keyboard focus.\r
+     * \r
+     * @since 6.2\r
      */\r
-\r
     public class BlurEvent extends Component.Event {\r
 \r
         private static final long serialVersionUID = -7644184999481404162L;\r
@@ -47,6 +62,13 @@ public interface FieldEvents {
         }\r
     }\r
 \r
+    /**\r
+     * <code>BlurListener</code> interface for listening for\r
+     * <code>BlurEvent</code> fired by a <code>Field</code>.\r
+     * \r
+     * @see BlurEvent\r
+     * @since 6.2\r
+     */\r
     public interface BlurListener extends ComponentEventListener {\r
 \r
         public static final Method blurMethod = ReflectTools.findMethod(\r
@@ -61,10 +83,12 @@ public interface FieldEvents {
         public void blur(BlurEvent event);\r
     }\r
 \r
-    /*\r
-     * component value change event\r
+    /**\r
+     * <code>ValueChangeEvent</code> class for holding additional event\r
+     * information. Fired when the value of a <code>Field</code> changes.\r
+     * \r
+     * @since 6.2\r
      */\r
-\r
     public class ValueChangeEvent extends Component.Event {\r
 \r
         private static final long serialVersionUID = -7644184999481404162L;\r
@@ -74,6 +98,13 @@ public interface FieldEvents {
         }\r
     }\r
 \r
+    /**\r
+     * <code>ValueChangeListener</code> interface for listening for\r
+     * <code>ValueChangeEvent</code> fired by a <code>Field</code>.\r
+     * \r
+     * @see ValueChangeEvent\r
+     * @since 6.2\r
+     */\r
     public interface ValueChangeListener extends ComponentEventListener {\r
 \r
         public static final Method valueChangeMethod = ReflectTools.findMethod(\r
index 19fdff8cc4932de372e02f421775c43dc25499d3..bf417c1ebff1e7296f1ebf48c2e7bd679b1af735 100644 (file)
@@ -1,3 +1,7 @@
+/* 
+@ITMillApache2LicenseForJavaFiles@
+ */
+
 package com.vaadin.event;
 
 import java.lang.reflect.Method;
@@ -8,12 +12,18 @@ import com.vaadin.ui.Component;
 public interface MouseEvents {
 
     /**
-     * defines the clicked mouse button for a ComponentClickEvents
+     * defines the clicked mouse button for ClickEvents
      */
     public enum MouseButton {
         LEFT, RIGHT, MIDDLE
     }
 
+    /**
+     * <code>ClickEvent</code> class for holding additional event information.
+     * Fired when the user clicks on a <code>Component</code>.
+     * 
+     * @since 6.2
+     */
     public class ClickEvent extends Component.Event {
 
         private MouseButton mouseButton;
@@ -37,6 +47,13 @@ public interface MouseEvents {
 
     }
 
+    /**
+     * <code>ClickListener</code> interface for listening for
+     * <code>ClickEvent</code> fired by a <code>Component</code>.
+     * 
+     * @see ClickEvent
+     * @since 6.2
+     */
     public interface ClickListener extends ComponentEventListener {
 
         public static final Method clickMethod = ReflectTools.findMethod(
@@ -51,10 +68,13 @@ public interface MouseEvents {
         public void click(ClickEvent event);
     }
 
-    /*
-     * component double click event
+    /**
+     * <code>DoubleClickEvent</code> class for holding additional event
+     * information. Fired when the user double-clicks on a
+     * <code>Component</code>.
+     * 
+     * @since 6.2
      */
-
     public class DoubleClickEvent extends Component.Event {
 
         private static final long serialVersionUID = -7644184999481404162L;
@@ -64,6 +84,13 @@ public interface MouseEvents {
         }
     }
 
+    /**
+     * <code>DoubleClickListener</code> interface for listening for
+     * <code>DoubleClickEvent</code> fired by a <code>Component</code>.
+     * 
+     * @see DoubleClickEvent
+     * @since 6.2
+     */
     public interface DoubleClickListener extends ComponentEventListener {
 
         public static final Method doubleClickMethod = ReflectTools.findMethod(
index f309f7997921fcba6e30241782914afc58eaafb7..2df8f9bf1123e1ed6becd25e60cb8b2bf14b5c57 100644 (file)
@@ -12,6 +12,7 @@ import java.util.List;
  * class for event handlers used by ComponentEventHandler\r
  * \r
  * @author davengo GmbH (Germany/Berlin, www.davengo.com)\r
+ * @since 6.2\r
  * \r
  */\r
 public class ComponentEventHandler {\r
@@ -23,6 +24,20 @@ public class ComponentEventHandler {
     private ComponentDetail detail;\r
     private ApplicationConnection client;\r
 \r
+    /**\r
+     * creates a new <code>ComponentEventHandler</code> instance for the given\r
+     * <code>ComponentDetail</code> and <code>ApplicationConntection</code>\r
+     * instance.\r
+     * \r
+     * @param detail\r
+     *            the attached ComponentDetail\r
+     * @param client\r
+     *            the <code>ApplicationConnection</code> for sending events\r
+     * \r
+     * @see ApplicationConnection\r
+     * @see ComponentDetail\r
+     * @since 6.2\r
+     */\r
     public ComponentEventHandler(ComponentDetail detail,\r
             ApplicationConnection client) {\r
         this.detail = detail;\r
@@ -39,6 +54,7 @@ public class ComponentEventHandler {
      *            the unique identifier for the event\r
      * @param parameters\r
      *            the parameters for the event (can be null)\r
+     * @since 6.2\r
      */\r
     public void fireEvent(String eventIdentifier, String... parameters) {\r
         fireEvent(eventIdentifier, false, parameters);\r
@@ -54,11 +70,24 @@ public class ComponentEventHandler {
      *            the unique identifier for the event\r
      * @param parameters\r
      *            the parameters for the event (can be null)\r
+     * @since 6.2\r
      */\r
     public void fireComponentEvent(String eventIdentifier, String... parameters) {\r
         fireEvent(eventIdentifier, true, parameters);\r
     }\r
 \r
+    /**\r
+     * Transmit the event to the Server (Fires a event which is transmitted to\r
+     * the server and passed on the the components handleEvent method)\r
+     * \r
+     * @param eventIdentifier\r
+     *            the unique identifier for the event\r
+     * @param forceTransmission\r
+     *            enforce the transmission to the server\r
+     * @param parameters\r
+     *            the parameters for the event (can be null)\r
+     * @since 6.2\r
+     */\r
     private void fireEvent(String eventIdentifier, boolean forceTransmission,\r
             String... parameters) {\r
 \r
@@ -86,6 +115,12 @@ public class ComponentEventHandler {
         }\r
     }\r
 \r
+    /**\r
+     * Registers the Events listened on the server-side from the UIDL\r
+     * \r
+     * @param componentUIDL\r
+     * @since 6.2\r
+     */\r
     void registerEventsFromUIDL(UIDL componentUIDL) {\r
 \r
         // read out the request event handlers\r
index c624cf322440adfb6690a946b4ef9d918d93b120..ee07a560e4cba54611e0641e86bc3e4530bd9da0 100644 (file)
@@ -688,7 +688,6 @@ public abstract class AbstractComponent implements Component, MethodEventSource
                     target.addAttribute("description", getDescription());
                 }
 
-                // davengo GmbH: add client event variables
                 String[] trigger = new String[] {};
                 String[] events = new String[] {};
                 if (clientEvents != null) {
@@ -866,13 +865,15 @@ public abstract class AbstractComponent implements Component, MethodEventSource
      * event-api mechanism for listening on events.
      * 
      * @param eventIdentifier
+     * @since 6.2
      */
     private void listenEvent(String eventIdentifier) {
         if (clientEvents == null) {
             clientEvents = new ClientEventList();
         }
-        clientEvents.listenEvent(eventIdentifier);
-        requestRepaint();
+        final boolean repaint = clientEvents.listenEvent(eventIdentifier);
+        if (repaint)
+            requestRepaint();
     }
 
     /**
@@ -886,11 +887,13 @@ public abstract class AbstractComponent implements Component, MethodEventSource
      * event-api mechanism for listening on events.
      * 
      * @param eventIdentifier
+     * @since 6.2
      */
     private void unlistenEvent(String eventIdentifier) {
         if (clientEvents != null) {
-            clientEvents.unlistenEvent(eventIdentifier);
-            requestRepaint();
+            final boolean repaint = clientEvents.unlistenEvent(eventIdentifier);
+            if (repaint)
+                requestRepaint();
         }
     }
 
@@ -957,6 +960,8 @@ public abstract class AbstractComponent implements Component, MethodEventSource
      *            the object instance who owns the activation method.
      * @param method
      *            the activation method.
+     * 
+     * @since 6.2
      */
     protected void addEventListener(String eventIdentifier, Class<?> eventType,
             Object object, Method method) {
@@ -992,6 +997,8 @@ public abstract class AbstractComponent implements Component, MethodEventSource
      * @param target
      *            the target object that has registered to listen to events of
      *            type <code>eventType</code> with one or more methods.
+     * 
+     * @since 6.2
      */
     protected void removeEventListener(String eventIdentifier,
             Class<?> eventType, Object target) {
@@ -1027,6 +1034,8 @@ public abstract class AbstractComponent implements Component, MethodEventSource
      * @param method
      *            the method owned by <code>target</code> that's registered to
      *            listen to events of type <code>eventType</code>.
+     * 
+     * @since 6.2
      */
     protected void removeEventListener(String eventIdentifier, Class eventType,
             Object target, Method method) {