1 /*
2 * Copyright 2004-2008 the Seasar Foundation and the Others.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
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,
13 * either express or implied. See the License for the specific language
14 * governing permissions and limitations under the License.
15 */
16 package org.seasar.uruma.context;
17
18 import java.util.Collection;
19
20 /**
21 * アプリケーション全体に共通な情報を保持するクラスのためのインターフェースです。<br />
22 *
23 * @author y-komori
24 */
25 public interface ApplicationContext {
26 /**
27 * {@link ApplicationContext} が保持する {@link WindowContext} のコレクションを返します。<br />
28 * {@link WindowContext} を1つも保持しない場合、空のコレクションを返します。
29 *
30 * @return {@link WindowContext} のコレクション
31 */
32 public Collection<WindowContext> getWindowContexts();
33
34 /**
35 * <code>windowName</code> で指定された名称を持つ {@link WindowContext} を返します。<br />
36 *
37 * @param windowName
38 * ウィンドウ名称
39 * @return {@link WindowContext} オブジェクト。見つからなかった場合は <code>null</code>。
40 */
41 public WindowContext getWindowContext(String windowName);
42
43 /**
44 * {@link ApplicationContext} へ値を設定します。<br />
45 * 同じ名称の値が既に設定されている場合は、上書きされます。<br />
46 *
47 * @param name
48 * 名称
49 * @param value
50 * 値
51 */
52 public void setValue(String name, Object value);
53
54 /**
55 * {@link ApplicationContext} から値を取得します。<br />
56 *
57 * @param name
58 * 名称
59 * @return 値。見つからない場合は <code>null</code>
60 */
61 public Object getValue(String name);
62 }