OSDN Git Service

8598cb5c213a71495de88b9f8b40285fc26f58a0
[ea2ddl/ea2ddl.git] / ea2ddl-gen / dbflute / templates / om / java / allcommon / BFinder.vm
1 ${database.allClassCopyright}package ${glPackageBaseCommon};\r
2 \r
3 import ${glPackageBaseCommonBhv}.${glBehaviorReadableInterfaceName};\r
4 \r
5 /**\r
6  * The entry of DBFlute.\r
7  * @author ${database.ClassAuthor}\r
8  */${database.outputSuppressWarningsAfterLineSeparator()}\r
9 public class ${glBFinderName} {\r
10 \r
11     // ===================================================================================\r
12     //                                                                          Definition\r
13     //                                                                          ==========\r
14     protected static String _dbfluteDiconName = "${database.DBFluteDiconFileName}";\r
15 \r
16     // ===================================================================================\r
17     //                                                                         Constructor\r
18     //                                                                         ===========\r
19     private ${glBFinderName}() {\r
20     }\r
21 \r
22     // ===================================================================================\r
23     //                                                                              Finder\r
24     //                                                                             ======\r
25     public static <BEHAVIOR_TYPE extends ${glBehaviorReadableInterfaceName}> BEHAVIOR_TYPE find(Class<BEHAVIOR_TYPE> behaviorType) {\r
26         assertObjectNotNull("behaviorType", behaviorType);\r
27         if (!org.seasar.framework.container.factory.SingletonS2ContainerFactory.hasContainer()) {\r
28             synchronized (${glBFinderName}.class) {\r
29                 if (!org.seasar.framework.container.factory.SingletonS2ContainerFactory.hasContainer()) {\r
30                     final String configFile = _dbfluteDiconName;\r
31                     if (org.seasar.framework.util.ResourceUtil.isExist(configFile)) {\r
32                         org.seasar.framework.container.factory.SingletonS2ContainerFactory.setConfigPath(configFile);\r
33                         org.seasar.framework.container.factory.SingletonS2ContainerFactory.init();\r
34                     } else {\r
35                         String msg = "S2Container is not initialized! Confirm your initializer and your dicon files.";\r
36                         throw new IllegalStateException(msg);\r
37                     }\r
38                 }\r
39             }\r
40         }\r
41         final org.seasar.framework.container.S2Container container = org.seasar.framework.container.factory.SingletonS2ContainerFactory.getContainer();\r
42         final BEHAVIOR_TYPE behavior = (BEHAVIOR_TYPE)container.getComponent(behaviorType);\r
43         return behavior;\r
44     }\r
45 \r
46     // ===================================================================================\r
47     //                                                                            Accessor\r
48     //                                                                            ========\r
49     public static void setDBFluteDiconName(String dbfluteDiconName) {\r
50         _dbfluteDiconName = dbfluteDiconName;\r
51     }\r
52         \r
53     // ===================================================================================\r
54     //                                                                      General Helper\r
55     //                                                                      ==============\r
56     /**\r
57      * Assert that the object is not null.\r
58      * @param variableName Variable name. (NotNull)\r
59      * @param value Value. (NotNull)\r
60      * @exception IllegalArgumentException\r
61      */\r
62     protected static void assertObjectNotNull(String variableName, Object value) {\r
63         if (variableName == null) {\r
64             String msg = "The value should not be null: variableName=" + variableName + " value=" + value;\r
65             throw new IllegalArgumentException(msg);\r
66         }\r
67         if (value == null) {\r
68             String msg = "The value should not be null: variableName=" + variableName;\r
69             throw new IllegalArgumentException(msg);\r
70         }\r
71     }\r
72 \r
73     // ----------------------------------------------------------------\r
74     //                                                    Assert String\r
75     //                                                    -------------\r
76     /**\r
77      * Assert that the entity is not null and not trimmed empty.\r
78      * @param variableName Variable name. (NotNull)\r
79      * @param value Value. (NotNull)\r
80      */\r
81     protected void assertStringNotNullAndNotTrimmedEmpty(String variableName, String value) {\r
82         assertObjectNotNull("variableName", variableName);\r
83         assertObjectNotNull("value", value);\r
84         if (value.trim().length() ==0) {\r
85             String msg = "The value should not be empty: variableName=" + variableName + " value=" + value;\r
86             throw new IllegalArgumentException(msg);\r
87         }\r
88     }\r
89 }\r