1 package jp.sourceforge.ea2ddl.dao.allcommon.cbean;
\r
3 import jp.sourceforge.ea2ddl.dao.allcommon.cbean.cvalue.ConditionValue;
\r
4 import jp.sourceforge.ea2ddl.dao.allcommon.cbean.sqlclause.SqlClause;
\r
7 * The condition-query as interface.
\r
8 * @author DBFlute(AutoGenerator)
\r
10 @SuppressWarnings("unchecked")
\r
11 public interface ConditionQuery {
\r
13 // ===================================================================================
\r
14 // Important Accessor
\r
15 // ==================
\r
17 * Get table DB-name.
\r
18 * @return Table DB-name. (NotNull)
\r
20 public String getTableDbName();
\r
23 * Get table SQL-name.
\r
24 * @return Table SQL-name. (NotNull)
\r
26 public String getTableSqlName();
\r
29 * Get real alias name(that has nest level mark).
\r
30 * @return Real alias name. (NotNull)
\r
32 public String getRealAliasName();
\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
39 public String getRealColumnName(String columnName);
\r
43 * @return Child query. (Nullable)
\r
45 public ConditionQuery getChildQuery();
\r
49 * @return Sql clause. (NotNull)
\r
51 public SqlClause getSqlClause();
\r
55 * @return Alias name. (NotNull)
\r
57 public String getAliasName();
\r
61 * @return Nest level.
\r
63 public int getNestLevel();
\r
66 * Get next nest level.
\r
67 * @return Next nest level.
\r
69 public int getNextNestLevel();
\r
73 * @param query Condition query. (NotNull)
\r
74 * @return Determination.
\r
76 public boolean isBaseQuery(ConditionQuery query);
\r
79 * Get the level of subQuery.
\r
80 * @return The level of subQuery.
\r
82 public int getSubQueryLevel();
\r
85 * Get the property name of foreign relation.
\r
86 * @return The property name of foreign relation. (NotNull)
\r
88 public String getForeignPropertyName();
\r
91 * Get the path of foreign relation.
\r
92 * @return The path of foreign relation. (NotNull)
\r
94 public String getRelationPath();
\r
96 // ===================================================================================
\r
97 // Reflection Invoking
\r
98 // ===================
\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
104 public ConditionValue invokeValue(String columnFlexibleName);
\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
112 public void invokeQuery(String columnFlexibleName, String conditionKeyName, Object value);
\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
119 public void invokeOrderBy(String columnFlexibleName, boolean isAsc);
\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
126 public ConditionQuery invokeForeignCQ(String foreignPropertyName);
\r