Daniel Kurka has uploaded a new change for review.
https://gwt-review.googlesource.com/3661
Change subject: Utility to store multiple HandlerRegistrations
......................................................................
Utility to store multiple HandlerRegistrations
fixes issue 8246
Change-Id: I75ccd120b78e1be47fa6a1e4f20c607c68203c31
---
A
user/src/com/google/web/bindery/event/shared/HandlerRegistrationCollection.java
1 file changed, 65 insertions(+), 0 deletions(-)
diff --git
a/user/src/com/google/web/bindery/event/shared/HandlerRegistrationCollection.java
b/user/src/com/google/web/bindery/event/shared/HandlerRegistrationCollection.java
new file mode 100644
index 0000000..7ad1a18
--- /dev/null
+++
b/user/src/com/google/web/bindery/event/shared/HandlerRegistrationCollection.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
not
+ * use this file except in compliance with the License. You may obtain a
copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
under
+ * the License.
+ */
+package com.google.web.bindery.event.shared;
+
+import java.util.LinkedList;
+
+/**
+ * HandlerCollection allows to group many {@link HandlerRegistration}s
together
+ * into one object, that will cancel all event registrations on each
individual
+ * {@link HandlerRegistration} once {@link
HandlerRegistrationCollection#removeHandler()}
+ * is called.
+ *
+ * A simple example:
+ * <code><pre>
+ * HandlerRegistration hr1 = ...
+ * HandlerRegistration hr2 = ...
+ * return HandlerRegistrationCollection.create(hr1, hr2);
+ * </pre></code>
+ */
+public class HandlerRegistrationCollection implements HandlerRegistration {
+
+ /**
+ * Create and return a {@link HandlerRegistrationCollection} with the
given
+ * {@link HandlerRegistration}s
+ * @param handlers the {@link HandlerRegistration}s to add to the
collection
+ * @return the {@link HandlerRegistrationCollection}
+ */
+ public static HandlerRegistrationCollection
create(HandlerRegistration... handlers) {
+ HandlerRegistrationCollection collection = new
HandlerRegistrationCollection();
+ for (HandlerRegistration hr : handlers) {
+ collection.addHandlerRegistration(hr);
+ }
+ return collection;
+ }
+
+ private LinkedList<HandlerRegistration> handlers = new
LinkedList<HandlerRegistration>();
+
+ /**
+ * Add a {@link HandlerRegistration} to the collection
+ * @param hr the {@link HandlerRegistration} to add
+ */
+ public void addHandlerRegistration(HandlerRegistration hr) {
+ handlers.add(hr);
+ }
+
+ @Override
+ public void removeHandler() {
+ for (HandlerRegistration hr : handlers) {
+ hr.removeHandler();
+ }
+ }
+}
--
To view, visit https://gwt-review.googlesource.com/3661
To unsubscribe, visit https://gwt-review.googlesource.com/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I75ccd120b78e1be47fa6a1e4f20c607c68203c31
Gerrit-PatchSet: 1
Gerrit-Project: gwt
Gerrit-Branch: master
Gerrit-Owner: Daniel Kurka <danku...@google.com>
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors
---
You received this message because you are subscribed to the Google Groups "GWT Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to google-web-toolkit-contributors+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.