diff options
Diffstat (limited to 'src/main/java/com/iciql/Condition.java')
-rw-r--r-- | src/main/java/com/iciql/Condition.java | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/src/main/java/com/iciql/Condition.java b/src/main/java/com/iciql/Condition.java index 17cb117..0ed1d06 100644 --- a/src/main/java/com/iciql/Condition.java +++ b/src/main/java/com/iciql/Condition.java @@ -27,28 +27,47 @@ package com.iciql; class Condition<A> implements Token {
CompareType compareType;
A x, y, z;
+ Iterable<A> i;
+
+ Condition(A x, CompareType compareType) {
+ this(x, null, null, null, compareType);
+ }
Condition(A x, A y, CompareType compareType) {
- this(x, y, null, compareType);
+ this(x, y, null, null, compareType);
}
Condition(A x, A y, A z, CompareType compareType) {
+ this(x, y, z, null, compareType);
+ }
+
+ Condition(A x, Iterable<A> i, CompareType compareType) {
+ this(x, null, null, i, compareType);
+ }
+
+ Condition(A x, A y, A z, Iterable<A> i, CompareType compareType) {
this.compareType = compareType;
this.x = x;
this.y = y;
this.z = z;
+ this.i = i;
}
+ @SuppressWarnings("unchecked")
public <T> void appendSQL(SQLStatement stat, Query<T> query) {
query.appendSQL(stat, null, x);
stat.appendSQL(" ");
stat.appendSQL(compareType.getString());
if (compareType.hasRightExpression()) {
- stat.appendSQL(" ");
- if (z == null) {
- query.appendSQL(stat, x, y);
+ if (i == null) {
+ stat.appendSQL(" ");
+ if (z == null) {
+ query.appendSQL(stat, x, y);
+ } else {
+ query.appendSQL(stat, x, y, z, compareType);
+ }
} else {
- query.appendSQL(stat, x, y, z, compareType);
+ query.appendSQL(stat, x, (Iterable<Object>)i, compareType);
}
}
}
|