package org.limewire.listener; import java.util.concurrent.Executor; import org.limewire.logging.Log; /** * A <code>CachingEventMulticasterImpl</code> that dispatches events to listeners asynchronously. * @param <E> */ public class AsynchronousCachingEventMulticasterImpl<E> extends CachingEventMulticasterImpl<E> implements AsynchronousEventMulticaster<E> { /** * Creates a new AsynchronousCachingEventMulticasterImpl with a * <code>BroadcastPolicy</code> of ALWAYS and no Logging. * @param executor */ public AsynchronousCachingEventMulticasterImpl(Executor executor) { this(executor, BroadcastPolicy.ALWAYS); } /** * Creates a new AsynchronousCachingEventMulticasterImpl with a * <code>BroadcastPolicy</code> of ALWAYS. * @param executor * @param log */ public AsynchronousCachingEventMulticasterImpl(Executor executor, Log log) { this(executor, BroadcastPolicy.ALWAYS, log); } /** * Creates a new AsynchronousCachingEventMulticasterImpl with no Logging. * @param executor * @param broadcastPolicy */ public AsynchronousCachingEventMulticasterImpl(Executor executor, BroadcastPolicy broadcastPolicy) { super(broadcastPolicy, new AsynchronousMulticasterImpl<E>(executor)); } /** * Creates a new AsynchronousCachingEventMulticasterImpl. * @param executor * @param broadcastPolicy */ public AsynchronousCachingEventMulticasterImpl(Executor executor, BroadcastPolicy broadcastPolicy, Log log) { super(broadcastPolicy, new AsynchronousMulticasterImpl<E>(executor, log)); } }