Source code: org/infohazard/maverick/flow/ShuntFactory.java
1 /*
2 * $Id: ShuntFactory.java,v 1.3 2002/02/07 22:49:56 lhoriman Exp $
3 * $Source: /cvsroot/mav/maverick/src/java/org/infohazard/maverick/flow/ShuntFactory.java,v $
4 */
5 package org.infohazard.maverick.flow;
6
7 import javax.servlet.ServletConfig;
8 import org.jdom.Element;
9
10 /**
11 * Pluggable modules which build Shunts must implement this interface and then
12 * be defined in the <modules> section of the Maverick config file. One
13 * factory is created to build all Shunts.
14 *
15 * @author Jeff Schnitzer
16 * @version $Revision: 1.3 $ $Date: 2002/02/07 22:49:56 $
17 */
18 public interface ShuntFactory
19 {
20 /**
21 * The factory is initialized with the XML element from the configuration file.
22 * Individual ShuntFactory implementations are free to interpret their XML nodes
23 * as they like.
24 *
25 * @param factoryNode The XML element (and child nodes) configured in the Maverick
26 * configuration file.
27 * @param servletCfg So that the factory can get information from the container.
28 * @exception ConfigException If the configuration was invalid.
29 */
30 public void init(Element factoryNode, ServletConfig servletCfg) throws ConfigException;
31
32 /**
33 * Creates an empty Shunt which will be populated.
34 *
35 * @return A new, empty shunt.
36 * @exception ConfigException If something is wrong with the configuration.
37 */
38 public Shunt createShunt() throws ConfigException;
39 }
40