01: /*
02: * Copyright 2004, 2005, 2006 Odysseus Software GmbH
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16: package de.odysseus.calyxo.control.conf;
17:
18: /**
19: * Dispatch configuration element.
20: *
21: * A dispatch element
22: * <ul>
23: * <li>has a name which is unique under its siblings</li>
24: * <li>either specifies a resource path or
25: * an action path (and an optional module name).
26: * </li>
27: * <li>may specify request parameters in form of <code>param</code
28: * children elements.
29: * An action path may also have a query string attached like in
30: * <code>/myaction?foo=bar</code> (discouraged, better use
31: * <code>param</code> elements).
32: * </li>
33: * <li>may indicate that it should be accessed via redirection.
34: * In this case the <code>path</code> may also contain an
35: * arbitrary url. However, a path starting with "/" is still
36: * interpreted as a context-related path.
37: * </li>
38: * <li>may specify a dispatcher.</li>
39: * </ul>
40: *
41: * @author Christoph Beck
42: */
43: public interface DispatchConfig extends ParamsConfig {
44:
45: /**
46: * Get dispatch name
47: */
48: public String getName();
49:
50: /**
51: * Get resource path
52: */
53: public String getPath();
54:
55: /**
56: * Get the module we address in {@link #getAction()}
57: */
58: public String getModule();
59:
60: /**
61: * Get the action we point to
62: */
63: public String getAction();
64:
65: /**
66: * Use redirection?
67: */
68: public boolean isRedirect();
69:
70: /**
71: * Get the dispatcher name
72: */
73: public String getDispatcher();
74: }
|