OSDN Git Service

DBFlute-0.9.3に更新
[ea2ddl/ea2ddl.git] / ea2ddl-dao / src / main / java / jp / sourceforge / ea2ddl / dao / allcommon / cbean / ConditionQuery.java
1 package jp.sourceforge.ea2ddl.dao.allcommon.cbean;\r
2 \r
3 import jp.sourceforge.ea2ddl.dao.allcommon.cbean.cvalue.ConditionValue;\r
4 import jp.sourceforge.ea2ddl.dao.allcommon.cbean.sqlclause.SqlClause;\r
5 \r
6 /**\r
7  * The condition-query as interface.\r
8  * @author DBFlute(AutoGenerator)\r
9  */
10 @SuppressWarnings("unchecked")\r
11 public interface ConditionQuery {\r
12 \r
13     // ===================================================================================\r
14     //                                                                  Important Accessor\r
15     //                                                                  ==================\r
16     /**\r
17      * Get table DB-name.\r
18      * @return Table DB-name. (NotNull)\r
19      */\r
20     public String getTableDbName();\r
21         \r
22     /**\r
23      * Get table SQL-name.\r
24      * @return Table SQL-name. (NotNull)\r
25      */\r
26     public String getTableSqlName();\r
27 \r
28     /**\r
29      * Get real alias name(that has nest level mark).\r
30      * @return Real alias name. (NotNull)\r
31      */\r
32     public String getRealAliasName();\r
33 \r
34     /**\r
35      * Get real column name(with real alias name).\r
36      * @param columnName Column name without alias name. (NotNull)\r
37      * @return Real column name. (NotNull)\r
38      */\r
39     public String getRealColumnName(String columnName);\r
40 \r
41     /**\r
42      * Get child query.\r
43      * @return Child query. (Nullable)\r
44      */\r
45     public ConditionQuery getChildQuery();\r
46 \r
47     /**\r
48      * Get sql clause.\r
49      * @return Sql clause. (NotNull)\r
50      */\r
51     public SqlClause getSqlClause();\r
52 \r
53     /**\r
54      * Get alias name.\r
55      * @return Alias name. (NotNull)\r
56      */\r
57     public String getAliasName();\r
58 \r
59     /**\r
60      * Get nest level.\r
61      * @return Nest level.\r
62      */\r
63     public int getNestLevel();\r
64 \r
65     /**\r
66      * Get next nest level.\r
67      * @return Next nest level.\r
68      */\r
69     public int getNextNestLevel();\r
70 \r
71     /**\r
72      * Is base query?\r
73      * @param query Condition query. (NotNull)\r
74      * @return Determination.\r
75      */\r
76     public boolean isBaseQuery(ConditionQuery query);\r
77 \r
78         /**\r
79          * Get the level of subQuery.\r
80          * @return The level of subQuery.\r
81          */\r
82         public int getSubQueryLevel();\r
83         \r
84     /**\r
85      * Get the property name of foreign relation.\r
86      * @return The property name of foreign relation. (NotNull)\r
87      */\r
88     public String getForeignPropertyName();\r
89 \r
90     /**\r
91      * Get the path of foreign relation.\r
92      * @return The path of foreign relation. (NotNull)\r
93      */\r
94     public String getRelationPath();\r
95 \r
96     // ===================================================================================\r
97     //                                                                 Reflection Invoking\r
98     //                                                                 ===================\r
99     /**\r
100      * Invoke getting value.\r
101      * @param columnFlexibleName The flexible name of the column. (NotNull and NotEmpty)\r
102      * @return The conditionValue. (NotNull)\r
103      */\r
104     public ConditionValue invokeValue(String columnFlexibleName);\r
105 \r
106     /**\r
107      * Invoke setting query. {ResolveRelation}\r
108      * @param columnFlexibleName The flexible name of the column allowed to contain relations. (NotNull and NotEmpty)\r
109      * @param conditionKeyName The name of the conditionKey. (NotNull)\r
110      * @param value The value of the condition. (NotNull)\r
111      */\r
112     public void invokeQuery(String columnFlexibleName, String conditionKeyName, Object value);\r
113 \r
114     /**\r
115      * Invoke adding orderBy. {ResolveRelation}\r
116      * @param columnFlexibleName The flexible name of the column allowed to contain relations. (NotNull and NotEmpty)\r
117      * @param isAsc Is it ascend?\r
118      */\r
119     public void invokeOrderBy(String columnFlexibleName, boolean isAsc);\r
120 \r
121     /**\r
122      * Invoke getting foreign conditionQuery.\r
123      * @param foreignPropertyName The property name of the foreign relation. (NotNull and NotEmpty)\r
124      * @return The conditionQuery of the foreign relation as interface. (NotNull)\r
125      */\r
126     public ConditionQuery invokeForeignCQ(String foreignPropertyName);\r
127 }\r