diff --git a/README.md b/README.md index 1c2eed9..0ab50fb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,9 @@ # casser Yet Another Cassandra Client + +### Requirements + +* Only JVM 8 +* Datastax Driver +* Maven + diff --git a/src/casser/Example.java b/src/casser/Example.java index e6926f5..7f89a78 100644 --- a/src/casser/Example.java +++ b/src/casser/Example.java @@ -6,9 +6,9 @@ import casser.tuple.Tuple2; public class Example { - User userDsl = Casser.dsl(User.class); + static final User _user = Casser.dsl(User.class); - Session session = Casser.connect("localhost").update(userDsl).get(); + Session session = Casser.connect("localhost").update(_user).get(); public static User mapUser(Tuple2 t) { User user = Casser.pojo(User.class); @@ -25,15 +25,15 @@ public class Example { newUser.setAge(34); session.upsert(newUser); - String nameAndAge = session.select(userDsl::getName, userDsl::getAge).where(userDsl::getId, 100L).sync().findFirst().map(t -> { + String nameAndAge = session.select(_user::getName, _user::getAge).where(_user::getId, "==", 100L).sync().findFirst().map(t -> { return t.v1 + ":" + t.v2; }).get(); - User user = session.select(userDsl::getName, userDsl::getAge).where(userDsl::getId, 100L).map(Example::mapUser).sync().findFirst().get(); + User user = session.select(_user::getName, _user::getAge).where(_user::getId, "==", 100L).map(Example::mapUser).sync().findFirst().get(); - session.update(userDsl::setAge, 10).where(userDsl::getId, 100L).async(); + session.update(_user::setAge, 10).where(_user::getId, "==", 100L).async(); - session.delete().where(userDsl::getId, 100L).async(); + session.delete().where(_user::getId, "==", 100L).async(); } diff --git a/src/casser/core/SupportedOperators.java b/src/casser/core/SupportedOperators.java new file mode 100644 index 0000000..f7eb005 --- /dev/null +++ b/src/casser/core/SupportedOperators.java @@ -0,0 +1,20 @@ +package casser.core; + +public final class SupportedOperators { + + public static final String EQUAL = "=="; + + public static final String NOT_EQUAL = "!="; + + public static final String GREATER = ">"; + + public static final String LESS = "<"; + + public static final String GREATER_OR_EQUAL = ">="; + + public static final String LESS_OR_EQUAL = "<="; + + private SupportedOperators() { + } + +} diff --git a/src/casser/operation/DeleteOperation.java b/src/casser/operation/DeleteOperation.java index d702622..9e30de7 100644 --- a/src/casser/operation/DeleteOperation.java +++ b/src/casser/operation/DeleteOperation.java @@ -4,7 +4,12 @@ import casser.dsl.Getter; public class DeleteOperation extends AbstractOperation { - public DeleteOperation where(Getter getter, V val) { + public DeleteOperation where(Getter getter, String operator, V val) { return this; } + + public DeleteOperation and(Getter getter, String operator, V val) { + return this; + } + } diff --git a/src/casser/operation/SelectOperation.java b/src/casser/operation/SelectOperation.java index 926995f..5233e9c 100644 --- a/src/casser/operation/SelectOperation.java +++ b/src/casser/operation/SelectOperation.java @@ -7,10 +7,14 @@ import casser.dsl.Getter; public class SelectOperation extends AbstractStreamOperation { - public SelectOperation where(Getter getter, V val) { + public SelectOperation where(Getter getter, String operator, V val) { return this; } - + + public SelectOperation and(Getter getter, String operator, V val) { + return this; + } + public SelectOperation map(Function fn) { return null; } diff --git a/src/casser/operation/UpdateOperation.java b/src/casser/operation/UpdateOperation.java index 3107987..b81d092 100644 --- a/src/casser/operation/UpdateOperation.java +++ b/src/casser/operation/UpdateOperation.java @@ -4,9 +4,12 @@ import casser.dsl.Getter; public class UpdateOperation extends AbstractOperation { - public UpdateOperation where(Getter getter, V val) { + public UpdateOperation where(Getter getter, String operator, V val) { return this; } + public UpdateOperation and(Getter getter, String operator, V val) { + return this; + } }