Add manager for request listener management.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 22 May 2009 04:58:01 +0000 (06:58 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 22 May 2009 04:58:01 +0000 (06:58 +0200)
src/net/pterodactylus/jsite/core/RequestListenerManager.java [new file with mode: 0644]

diff --git a/src/net/pterodactylus/jsite/core/RequestListenerManager.java b/src/net/pterodactylus/jsite/core/RequestListenerManager.java
new file mode 100644 (file)
index 0000000..4197313
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+ * jSite-next - RequestListenerManager.java -
+ * Copyright © 2009 David Roden
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+package net.pterodactylus.jsite.core;
+
+import net.pterodactylus.util.event.ListenerManager;
+
+/**
+ * Manager for {@link RequestListener} event listeners.
+ *
+ * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
+ */
+public class RequestListenerManager extends ListenerManager<RequestListener> {
+
+       /**
+        * Notifies all listeners that a request was added.
+        *
+        * @see RequestListener#requestAdded(Request)
+        * @param request
+        *            The added request
+        */
+       public void fireRequestAdded(Request request) {
+               for (RequestListener requestListener : getListeners()) {
+                       requestListener.requestAdded(request);
+               }
+       }
+
+       /**
+        * Notifies all listeners that a request has made progress.
+        *
+        * @see RequestListener#requestProgressed(Request)
+        * @param request
+        *            The request that made progress
+        */
+       public void fireRequestProgressed(Request request) {
+               for (RequestListener requestListener : getListeners()) {
+                       requestListener.requestProgressed(request);
+               }
+       }
+
+       /**
+        * Notifies all listeners that a request was removed.
+        *
+        * @see RequestListener#requestRemoved(Request)
+        * @param request
+        *            The removed request
+        */
+       public void fireRequestRemoved(Request request) {
+               for (RequestListener requestListener : getListeners()) {
+                       requestListener.requestRemoved(request);
+               }
+       }
+
+       /**
+        * Notifies all listeners that a request generated a URI.
+        *
+        * @see RequestListener#requestGeneratedURI(Request, String)
+        * @param request
+        *            The request that generated the URI
+        * @param uri
+        *            The generated URI
+        */
+       public void fireRequestGeneratedURI(Request request, String uri) {
+               for (RequestListener requestListener : getListeners()) {
+                       requestListener.requestGeneratedURI(request, uri);
+               }
+       }
+
+       /**
+        * Notifies all listeners that a request finished.
+        *
+        * @see RequestListener#requestFinished(Request)
+        * @param request
+        *            The finished request
+        */
+       public void fireRequestFinished(Request request) {
+               for (RequestListener requestListener : getListeners()) {
+                       requestListener.requestFinished(request);
+               }
+       }
+
+}