01: /*
02: * This file is part of PFIXCORE.
03: *
04: * PFIXCORE is free software; you can redistribute it and/or modify
05: * it under the terms of the GNU Lesser General Public License as published by
06: * the Free Software Foundation; either version 2 of the License, or
07: * (at your option) any later version.
08: *
09: * PFIXCORE is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: * GNU Lesser General Public License for more details.
13: *
14: * You should have received a copy of the GNU Lesser General Public License
15: * along with PFIXCORE; if not, write to the Free Software
16: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17: */
18:
19: package de.schlund.pfixxml.config;
20:
21: import java.util.List;
22:
23: /**
24: * Provides configuration for a page flow.
25: *
26: * @author Sebastian Marsching <sebastian.marsching@1und1.de>
27: */
28: public interface PageFlowConfig {
29:
30: /**
31: * Returns name of the page flow. The name is used to uniquely identify
32: * a pageflow in a servlet configuration.
33: *
34: * @return name of the page flow
35: */
36: String getFlowName();
37:
38: /**
39: * Returns name of the final page of the page flow. The final page is the
40: * page that the flow will jump to, when the flow has been processed (no
41: * page of the flow needs input).
42: *
43: * @return the name of the final page or <code>null</code> if no final
44: * page is defined
45: */
46: String getFinalPage();
47:
48: /**
49: * If <code>true</code>, will force the page flow to stop at each page,
50: * even if it does not require input.
51: *
52: * @return flag indicating whether to always stop at the next page after
53: * a submit
54: */
55: boolean isStopNext();
56:
57: /**
58: * Returns a list of configurations for each flow step.
59: *
60: * @return configurations of the flow steps
61: */
62: List<? extends PageFlowStepConfig> getFlowSteps();
63:
64: }
|