1 /* 2 * Copyright (C) The Apache Software Foundation. All rights reserved. 3 * 4 * This software is published under the terms of the Apache Software License 5 * version 1.1, a copy of which has been included with this distribution in 6 * the LICENSE.txt file. 7 */ 8 package org.apache.avalon.excalibur.command; 9 10 import org.apache.avalon.excalibur.event.Sink; 11 import org.apache.avalon.excalibur.event.EventHandler; 12 13 /** 14 * An EventPipeline is used by the ThreadManager to manage the event Queue and 15 * EventHandler relationship. The ThreadManager manages the automatic forwarding 16 * of the Events from the queue to the Event Handler. 17 * 18 * @author <a HREF="mailto:bloritsch@apache.org">Berin Loritsch</a> 19 */ 20 public interface EventPipeline 21 { 22 /** 23 * There can be many different sinks to merge into a pipeline. For the 24 * CommandManager, there is only one sink. 25 */ 26 Sink[] getSinks(); 27 28 /** 29 * Returns the reference to the EventHandler that the events from all the 30 * Sinks get merged into. 31 */ 32 EventHandler getEventHandler(); 33 }