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.procedure;
17
18 import java.io.IOException;
19
20 import org.seasar.uruma.procedure.entity.Procedures;
21
22 /**
23 * プロシジャに関する定義情報を管理するためのインターフェースです。<br />
24 *
25 * @author y-komori
26 */
27 public interface ProcedureManager {
28 /**
29 * プロシジャ定義を追加します。<br />
30 *
31 * @param id
32 * 画面 ID
33 * @param procedures
34 * プロシジャ定義
35 */
36 public void addProcedureDef(String id, Procedures procedures);
37
38 /**
39 * 指定された画面 ID に対応するプロシジャ定義を削除します。<br />
40 *
41 * @param id
42 * 画面 ID
43 */
44 public void removeProcedureDef(String id);
45
46 /**
47 * 指定された画面 ID に対応するプロシジャ定義を取得します。<br />
48 *
49 * @param id
50 * 画面 ID
51 */
52 public void getProcedureDef(String id);
53
54 /**
55 * 指定されたパスからプロシジャ定義ファイルを読み込みます。<br />
56 * 読み込んだプロシジャ定義は、 <code>id</code> で指定された画面 ID と関連づけて保持しますので、あとから
57 * {@link #getProcedureDef(String)} メソッドによって取得することができます。
58 *
59 * @param path
60 * パス(クラスパス上のパスです。ファイルシステムから読み込む場合は、 file:// をつけて指定してください)
61 * @return 読み込んだプロシジャ定義
62 */
63 public Procedures loadProcedureDef(String id, String path);
64
65 /**
66 * プロシジャ定義ファイルを書き出します。<br />
67 *
68 * @param path
69 * 書き出し先パス
70 * @throws IOException
71 * ファイルの書き出しに失敗した場合
72 */
73 public void writeProcedureDef(Procedures procedures, String path)
74 throws IOException;
75 }