OSDN Git Service

Access対応中
[ea2ddl/ea2ddl.git] / ea2ddl-gen / dbflute / templates / om / csharp / allcommon / cbean / outsidesql / executor / OutsideSqlBasicExecutor.vmnet
1 \r
2 using System;\r
3 using System.Collections.Generic;\r
4 \r
5 using ${glPackageBaseCommonCBeanOutsidesql};\r
6 using ${glPackageBaseCommonJdbc};\r
7 \r
8 namespace ${glPackageBaseCommonCBeanOutsidesqlExecutor} {\r
9 \r
10     public class ${glOutsideSqlBasicExecutorName} {\r
11 \r
12         // ===============================================================================\r
13         //                                                                       Attribute\r
14         //                                                                       =========\r
15         protected ${glOutsideSqlDaoName} _outsideSqlDao;\r
16         protected String _tableDbName;\r
17         protected bool _dynamicBinding;\r
18         protected ${glStatementConfig} _statementConfig;\r
19 \r
20         // ===============================================================================\r
21         //                                                                     Constructor\r
22         //                                                                     ===========\r
23         public ${glOutsideSqlBasicExecutorName}(${glOutsideSqlDaoName} outsideSqlDao, String tableDbName) {\r
24             _outsideSqlDao = outsideSqlDao;\r
25             _tableDbName = tableDbName;\r
26         }\r
27 \r
28         // ===============================================================================\r
29         //                                                                          Select\r
30         //                                                                          ======\r
31         public IList<ENTITY> SelectList<ENTITY>(String path, Object pmb) {\r
32             return (IList<ENTITY>)_outsideSqlDao.SelectList(path, pmb, CreateOutsideSqlOption(), typeof(ENTITY));\r
33         }\r
34 \r
35         // ===============================================================================\r
36         //                                                                         Execute\r
37         //                                                                         =======\r
38         public int Execute(String path, Object pmb) {\r
39             return _outsideSqlDao.Execute(path, pmb, CreateOutsideSqlOption());\r
40         }\r
41 \r
42         // Implements at the future!\r
43         //    public int BatchExecute(String path, Object pmb) {\r
44         //        throw new UnsupportedOperationException("Sorry! The method of batchExecute() has not been implemented yet.");\r
45         //        // return _outsideSqlDao.batchExecute(path, pmb, CreateOutsideSqlOption());\r
46         //    }\r
47 \r
48         // [DBFlute-0.8.0]\r
49         // ===============================================================================\r
50         //                                                                  Procedure Call\r
51         //                                                                  ==============\r
52         public void Call(${glProcedurePmbName} pmb) {\r
53             if (pmb == null) { throw new ArgumentNullException("The argument of call() 'pmb' should not be null!"); }\r
54             _outsideSqlDao.Call(pmb.ProcedureName, pmb, CreateOutsideSqlOption());\r
55         }\r
56 \r
57         // ===============================================================================\r
58         //                                                                          Option\r
59         //                                                                          ======\r
60         public ${glOutsideSqlCursorExecutorName}<Object> CursorHandling() {\r
61             return new ${glOutsideSqlCursorExecutorName}<Object>(_outsideSqlDao, CreateOutsideSqlOption());\r
62         }\r
63 \r
64         public ${glOutsideSqlEntityExecutorName}<Object> EntityHandling() {\r
65             return new ${glOutsideSqlEntityExecutorName}<Object>(_outsideSqlDao, CreateOutsideSqlOption());\r
66         }\r
67 \r
68         public ${glOutsideSqlPagingExecutorName} AutoPaging() {\r
69             ${glOutsideSqlOptionName} option = CreateOutsideSqlOption();\r
70             option.AutoPaging();\r
71             return new ${glOutsideSqlPagingExecutorName}(_outsideSqlDao, option, _tableDbName);\r
72         }\r
73 \r
74         public ${glOutsideSqlPagingExecutorName} ManualPaging() {\r
75             ${glOutsideSqlOptionName} option = CreateOutsideSqlOption();\r
76             option.ManualPaging();\r
77             return new ${glOutsideSqlPagingExecutorName}(_outsideSqlDao, option, _tableDbName);\r
78         }\r
79 \r
80         public ${glOutsideSqlBasicExecutorName} DynamicBinding() {\r
81             _dynamicBinding = true;\r
82             return this;\r
83         }\r
84 \r
85         public ${glOutsideSqlBasicExecutorName} Configure(${glStatementConfig} statementConfig) {\r
86             _statementConfig = statementConfig;\r
87             return this;\r
88         }\r
89 \r
90         // -------------------------------------------------\r
91         //                                            Helper\r
92         //                                            ------\r
93         protected ${glOutsideSqlOptionName} CreateOutsideSqlOption() {\r
94             ${glOutsideSqlOptionName} option = new ${glOutsideSqlOptionName}();\r
95             option.StatementConfig = _statementConfig;\r
96             if (_dynamicBinding) {\r
97                 option.DynamicBinding();\r
98             }\r
99                         option.TableDbName = _tableDbName;\r
100             return option;\r
101         }\r
102     }\r
103 }\r