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 step of a page flow.
25: *
26: * @see PageFlowConfig
27: * @author Sebastian Marsching <sebastian.marsching@1und1.de>
28: */
29: public interface PageFlowStepConfig {
30:
31: /**
32: * Returns the name of the page this flow step refers to.
33: *
34: * @return name of the page used by this flow step
35: */
36: String getPage();
37:
38: /**
39: * If <code>true</code> forces the pageflow to stop at this step when
40: * coming from a step before this step. If <code>false</code> the flow
41: * will only stop at this step if the page needs input.
42: *
43: * @return flag indicating wheter to always stop at this step
44: */
45: boolean isStopHere();
46:
47: /**
48: * Returns a list of conditions and their corresponding actions.
49: *
50: * @return list of conditions for pageflow actions
51: */
52: List<? extends PageFlowStepActionConditionConfig> getActionConditions();
53:
54: /**
55: * Signals whether to check for all conditions.
56: * If <code>true</code> all conditions for pageflow actions will be
57: * checked and their corresponding actions be executed. If
58: * <code>false</code> only the actions for the first matching condition
59: * will be executed.
60: *
61: * @return flag indicating whether to check all conditions for pageflow
62: * actions
63: */
64: boolean isApplyAllConditions();
65:
66: }
|