From cf47ba95af17f3cb2b0fa561e579970ca16ff26c Mon Sep 17 00:00:00 2001 From: Matt Tucker Date: Tue, 17 Aug 2004 07:41:00 +0000 Subject: [PATCH] No longer needed. git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@2370 b35dd754-fafc-0310-a699-88a17e54d16e --- .../util/ListenerEventDispatcher.java | 131 ------------------ 1 file changed, 131 deletions(-) delete mode 100644 source/org/jivesoftware/smackx/workgroup/util/ListenerEventDispatcher.java diff --git a/source/org/jivesoftware/smackx/workgroup/util/ListenerEventDispatcher.java b/source/org/jivesoftware/smackx/workgroup/util/ListenerEventDispatcher.java deleted file mode 100644 index 6012d6cf1..000000000 --- a/source/org/jivesoftware/smackx/workgroup/util/ListenerEventDispatcher.java +++ /dev/null @@ -1,131 +0,0 @@ -/** - * $RCSfile$ - * $Revision$ - * $Date$ - * - * Copyright (C) 1999-2003 Jive Software. All rights reserved. - * - * This software is the proprietary information of Jive Software. - * Use is subject to license terms. - */ -package org.jivesoftware.smackx.workgroup.util; - -import java.lang.reflect.Method; -import java.util.*; - -/** - * This class is a very flexible event dispatcher which implements Runnable so that it can - * dispatch easily from a newly created thread. The usage of this in code is more or less: - * create a new instance of this class, use addListenerTriplet to add as many listeners - * as desired to be messaged, create a new Thread using the instance of this class created - * as the argument to the constructor, start the new Thread instance.
- * - * Also, this is intended to be used to message methods that either return void, or have - * a return which the developer using this class is uninterested in receiving.
- * - * @author loki der quaeler - */ -public class ListenerEventDispatcher - implements Runnable { - - protected transient ArrayList triplets; - - protected transient boolean hasFinishedDispatching; - protected transient boolean isRunning; - - public ListenerEventDispatcher () { - super(); - - this.triplets = new ArrayList(); - - this.hasFinishedDispatching = false; - this.isRunning = false; - } - - /** - * Add a listener triplet - the instance of the listener to be messaged, the Method on which - * the listener should be messaged, and the Object array of arguments to be supplied to the - * Method. No attempts are made to determine whether this triplet was already added.
- * - * Messages are dispatched in the order in which they're added via this method; so if triplet - * X is added after triplet Z, then triplet Z will undergo messaging prior to triplet X.
- * - * This method should not be called once the owning Thread instance has been started; if it - * is called, the triplet will not be added to the messaging queue.
- * - * @param listenerInstance the instance of the listener to receive the associated notification - * @param listenerMethod the Method instance representing the method through which notification - * will occur - * @param methodArguments the arguments supplied to the notification method - */ - public void addListenerTriplet (Object listenerInstance, Method listenerMethod, - Object[] methodArguments) { - if (! this.isRunning) { - this.triplets.add(new TripletContainer(listenerInstance, listenerMethod, - methodArguments)); - } - } - - /** - * @return whether this instance has finished dispatching its messages - */ - public boolean hasFinished () { - return this.hasFinishedDispatching; - } - - /** - * - * Runnable implementation - * - */ - public void run () { - ListIterator li = null; - - this.isRunning = true; - - li = this.triplets.listIterator(); - while (li.hasNext()) { - TripletContainer tc = (TripletContainer)li.next(); - - try { - tc.getListenerMethod().invoke(tc.getListenerInstance(), tc.getMethodArguments()); - } catch (Exception e) { - System.err.println("Exception dispatching an event: " + e); - - e.printStackTrace(); - } - } - - this.hasFinishedDispatching = true; - } - - - protected class TripletContainer { - - protected Object listenerInstance; - protected Method listenerMethod; - protected Object[] methodArguments; - - protected TripletContainer (Object inst, Method meth, Object[] args) { - super(); - - this.listenerInstance = inst; - this.listenerMethod = meth; - this.methodArguments = args; - } - - protected Object getListenerInstance () { - return this.listenerInstance; - } - - protected Method getListenerMethod () { - return this.listenerMethod; - } - - protected Object[] getMethodArguments () { - return this.methodArguments; - } - - } - -}