diff options
Diffstat (limited to 'same')
| -rw-r--r-- | same/src/main/java/com/orbekk/same/SameInterface.java | 42 | ||||
| -rw-r--r-- | same/src/main/java/com/orbekk/same/UpdateConflict.java | 4 | 
2 files changed, 46 insertions, 0 deletions
diff --git a/same/src/main/java/com/orbekk/same/SameInterface.java b/same/src/main/java/com/orbekk/same/SameInterface.java new file mode 100644 index 0000000..a778f39 --- /dev/null +++ b/same/src/main/java/com/orbekk/same/SameInterface.java @@ -0,0 +1,42 @@ +package com.orbekk.same; + +import java.util.List; + +import org.codehaus.jackson.type.TypeReference; + +public interface SameInterface { +    /** +     * Get the state with identifier 'id'. +     */ +    String get(String id); +     +    /** +     * Get the state with identifier 'id', converted to a Java +     * object of type T using Jackson. +     */ +    <T> T get(String id, TypeReference<T> type); +     +    /** +     * Get the state with identifier 'id' as a list. +     */ +    List<String> getList(String id); +     +    /** +     * Set the state. +     *  +     * @throws UpdateConflictException +     */ +    void set(String id, String data) throws UpdateConflict; + +    /** +     * Set the state. +     *  +     * Retry until there is no conflict. +     */ +    void forceSet(String id, String data); +     +    /** +     * Set from an object: Pass it, e.g., a List<String>. +     */ +    void setObject(String id, Object data); +} diff --git a/same/src/main/java/com/orbekk/same/UpdateConflict.java b/same/src/main/java/com/orbekk/same/UpdateConflict.java new file mode 100644 index 0000000..35fbb01 --- /dev/null +++ b/same/src/main/java/com/orbekk/same/UpdateConflict.java @@ -0,0 +1,4 @@ +package com.orbekk.same; + +public class UpdateConflict extends Exception { +}  | 
