1 package br.com.ibnetwork.guara.pipeline;
2
3 import br.com.ibnetwork.guara.rundata.RunData;
4
5 /***
6 * @author <a href="mailto:leandro@ibnetwork.com.br">leandro</a>
7 */
8 public interface Pipeline
9 {
10 String DEFAULT_PIPELINE_NAME = "default";
11
12 String getName();
13
14 void execute(RunData runData)
15 throws PipelineException;
16
17 Valve[] getValves();
18
19 /***
20 * Null if not found
21 *
22 * @param valveName
23 * @return
24 */
25 Valve getValveByName(String valveName);
26
27 void addValve(Valve valve)
28 throws PipelineException;
29
30 void removeValve(Valve valve)
31 throws PipelineException;
32
33 /***
34 * Null if last or not found
35 *
36 * @param valve
37 * @return
38 * @throws PipelineException
39 */
40 Valve getNextValve(Valve valve)
41 throws PipelineException;
42
43 }