OSDN Git Service

accessにつながるようになった気がする
[ea2ddl/ea2ddl.git] / ea2ddl-dao / src / main / java / jp / sourceforge / ea2ddl / dao / exbhv / TPackageBhv.java
1 package jp.sourceforge.ea2ddl.dao.exbhv;\r
2 \r
3 import javax.persistence.EntityNotFoundException;\r
4 \r
5 import org.seasar.framework.container.annotation.tiger.Binding;\r
6 \r
7 import jp.sourceforge.ea2ddl.common.config.Config;\r
8 import jp.sourceforge.ea2ddl.dao.cbean.TPackageCB;\r
9 import jp.sourceforge.ea2ddl.dao.exentity.TPackage;\r
10 \r
11 /**\r
12  * The behavior of t_package.\r
13  * <p>\r
14  * You can implement your original methods here.\r
15  * This class is NOT overrided when re-generating.\r
16  * </p>\r
17  * @author DBFlute(AutoGenerator)\r
18  */\r
19 public class TPackageBhv extends jp.sourceforge.ea2ddl.dao.bsbhv.BsTPackageBhv {\r
20         private Config _config;\r
21 \r
22         @Binding\r
23         public void setConfig(Config config) {\r
24                 _config = config;\r
25         }\r
26 \r
27         /**\r
28          * パッケージツリーから対象のパッケージオブジェクトを検索する。\r
29          * @param packageTree 対象パッケージのルートからのパス\r
30          * @return パッケージ\r
31          */\r
32         public TPackage selectPackage(String packageTree) {\r
33                 final String[] packageNames = packageTree.split("[/.]");\r
34 \r
35                 TPackage pkg = selectRoot();\r
36                 for (int i = 0; i < packageNames.length; i++) {\r
37                         final TPackageCB cb = new TPackageCB();\r
38                         cb.query().setParentId_Equal(pkg.getPackageId());\r
39                         cb.query().setName_Equal(packageNames[i]);\r
40                         pkg = selectEntity(cb);\r
41                         if (pkg == null) {\r
42                                 throw new EntityNotFoundException("Package " + packageNames[i] + " in " + packageTree + " is not found.");\r
43                         }\r
44                 }\r
45                 return pkg;\r
46         }\r
47         \r
48         public TPackage selectRoot() {\r
49                 final TPackageCB cb = new TPackageCB();\r
50                 cb.query().setName_Equal(_config.getProperty("root.package.name"));\r
51                 return selectEntity(cb);\r
52         }\r
53 }\r