java: Add the WatchPatterns class and make the KeyValue static
Change-Id: I7e10262015fbcdfc371b8d90d52e83b2ce581bd4
diff --git a/syncbase/src/main/java/io/v/syncbase/internal/Collection.java b/syncbase/src/main/java/io/v/syncbase/internal/Collection.java
index ffde4d7..4710ece 100644
--- a/syncbase/src/main/java/io/v/syncbase/internal/Collection.java
+++ b/syncbase/src/main/java/io/v/syncbase/internal/Collection.java
@@ -13,7 +13,7 @@
public static native boolean Exists(String name, String batchHandle) throws VError;
public static native void DeleteRange(String name, String batchHandle, byte[] start, byte[] limit) throws VError;
- public class KeyValue {
+ public static class KeyValue {
String key;
byte[] value;
}
diff --git a/syncbase/src/main/java/io/v/syncbase/internal/Database.java b/syncbase/src/main/java/io/v/syncbase/internal/Database.java
index 8a43caf..8af8855 100644
--- a/syncbase/src/main/java/io/v/syncbase/internal/Database.java
+++ b/syncbase/src/main/java/io/v/syncbase/internal/Database.java
@@ -53,4 +53,29 @@
public static native VersionedSyncgroupSpec GetSyncgroupSpec(String name, Id syncgroupId) throws VError;
public static native void SetSyncgroupSpec(String name, Id syncgroupId, VersionedSyncgroupSpec spec) throws VError;
public static native List<SyncgroupMemberInfo> GetSyncgroupMembers(String name, Id syncgroupId) throws VError;
+
+ public static class CollectionRowPattern {
+ String collectionBlessing;
+ String collectionName;
+ String rowKey;
+ }
+
+ public enum ChangeType { PUT, DELETE }
+
+ public static class WatchChange {
+ Id collection;
+ String row;
+ ChangeType changeType;
+ byte[] value;
+ String resumeMarker;
+ boolean fromSync;
+ boolean continued;
+ }
+
+ public interface WatchPatternsCallbacks {
+ void onChange(WatchChange watchChange);
+ void onError(VError vError);
+ }
+
+ public static native void WatchPatterns(String name, String resumeMarker, List<CollectionRowPattern> patterns, WatchPatternsCallbacks callbacks) throws VError;
}
\ No newline at end of file