add more operations

This commit is contained in:
Alex Shvid 2015-03-11 20:17:10 -07:00
parent 398b9f8b65
commit 4e6b320fc3
10 changed files with 88 additions and 37 deletions

View file

@ -8,7 +8,7 @@ public class Example {
User userDsl = Casser.dsl(User.class);
Session session = Casser.connect().update(userDsl).get();
Session session = Casser.connect("localhost").update(userDsl).get();
public static User mapUser(Tuple2<String, Integer> t) {
User user = Casser.pojo(User.class);
@ -19,6 +19,12 @@ public class Example {
public void test() {
User newUser = Casser.pojo(User.class);
newUser.setId(123L);
newUser.setName("alex");
newUser.setAge(34);
session.upsert(newUser);
String nameAndAge = session.select(userDsl::getName, userDsl::getAge).where(userDsl::getId, 100L).sync().findFirst().map(t -> {
return t.v1 + ":" + t.v2;
}).get();
@ -27,6 +33,8 @@ public class Example {
session.update(userDsl::setAge, 10).where(userDsl::getId, 100L).async();
session.delete().where(userDsl::getId, 100L).async();
}
}

View file

@ -1,11 +1,10 @@
package casser.core;
import casser.operation.SessionOperation;
public final class Casser {
public static SessionOperation connect() {
public static SessionInitializer connect(String host) {
return null;
}

View file

@ -2,8 +2,10 @@ package casser.core;
import casser.dsl.Getter;
import casser.dsl.Setter;
import casser.operation.DeleteOperation;
import casser.operation.SelectOperation;
import casser.operation.UpdateOperation;
import casser.operation.UpsertOperation;
import casser.tuple.Tuple1;
import casser.tuple.Tuple2;
import casser.tuple.Tuple3;
@ -26,6 +28,14 @@ public class Session {
return null;
}
public UpsertOperation upsert(Object pojo) {
return null;
}
public DeleteOperation delete() {
return null;
}
public void close() {
}

View file

@ -0,0 +1,32 @@
package casser.core;
public class SessionInitializer {
public SessionInitializer validate(Object... dsls) {
return this;
}
public SessionInitializer update(Object... dsls) {
return this;
}
public SessionInitializer create(Object... dsls) {
return this;
}
public SessionInitializer createDrop(Object... dsls) {
return this;
}
public SessionInitializer use(String keyspace) {
return this;
}
public Session get() {
return null;
}
}

View file

@ -1,15 +1,14 @@
package casser.operation;
import java.util.concurrent.Future;
import java.util.stream.Stream;
public abstract class AbstractOperation<E> {
public Stream<E> sync() {
public E sync() {
return null;
}
public Future<Stream<E>> async() {
public Future<E> async() {
return null;
}

View file

@ -0,0 +1,17 @@
package casser.operation;
import java.util.concurrent.Future;
import java.util.stream.Stream;
public abstract class AbstractStreamOperation<E> {
public Stream<E> sync() {
return null;
}
public Future<Stream<E>> async() {
return null;
}
}

View file

@ -0,0 +1,10 @@
package casser.operation;
import casser.dsl.Getter;
public class DeleteOperation extends AbstractOperation<Object> {
public <V> DeleteOperation where(Getter<V> getter, V val) {
return this;
}
}

View file

@ -5,7 +5,7 @@ import java.util.function.Function;
import casser.dsl.Getter;
public class SelectOperation<E> extends AbstractOperation<E> {
public class SelectOperation<E> extends AbstractStreamOperation<E> {
public <V> SelectOperation<E> where(Getter<V> getter, V val) {
return this;

View file

@ -1,29 +0,0 @@
package casser.operation;
import casser.core.Session;
public class SessionOperation {
public SessionOperation validate(Object... dsls) {
return this;
}
public SessionOperation update(Object... dsls) {
return this;
}
public SessionOperation create(Object... dsls) {
return this;
}
public SessionOperation createDrop(Object... dsls) {
return this;
}
public Session get() {
return null;
}
}

View file

@ -0,0 +1,5 @@
package casser.operation;
public class UpsertOperation extends AbstractOperation<Object> {
}