01: /**
02: * Copyright 2006 Webmedia Group Ltd.
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: **/package org.araneaframework;
16:
17: import java.util.Map;
18: import org.araneaframework.http.HttpInputData;
19:
20: /**
21: * Provides access to request parameters.
22: *
23: * <p>
24: * InputData has 2 types of getters
25: * <ul>
26: * <li>Scoped data - data that depends on the current scope</li>
27: * <li>Global data - data which isn't aware of scoping</li>
28: * </ul>
29: * </p>
30: *
31: * @see HttpInputData
32: *
33: * @author "Toomas Römer" <toomas@webmedia.ee>
34: * @author Jevgeni Kabanov (ekabanov <i>at</i> araneaframework <i>dot</i> org)
35: */
36: public interface InputData extends Extendable, Narrowable {
37:
38: /**
39: * The key that can be used to retrieve InputData (as an example a request scope attribute).
40: */
41: public static final String INPUT_DATA_KEY = "org.araneaframework.InputData";
42:
43: /**
44: * Returns the data with the Path prefix.
45: * @param scope the Path prefix
46: * @return a map with the data
47: */
48: public Map getScopedData(Path scope);
49:
50: /**
51: * Returns the global data of this object. Global data is not the same
52: * as scoped data with empty path.
53: * @return the map with the global data
54: */
55: public Map getGlobalData();
56:
57: /**
58: * Returns the current OutputData.
59: */
60: public OutputData getOutputData();
61: }
|