/** * Creates a {@link ZKClient} that will add prefix namespace for every paths. * * @param zkClient The {@link ZKClient} for operations delegation. * @param namespace The prefix namespace to be prepended to paths. * @return A {@link ZKClient} that will add namespace to every path. */ public static ZKClient namespace(ZKClient zkClient, String namespace) { return new NamespaceZKClient(zkClient, namespace); }
@Override public OperationFuture<Stat> setACL(String path, Iterable<ACL> acl, int version) { return relayFuture(delegate.setACL(getNamespacedPath(path), acl, version), this.<Stat>createFuture(path)); }
@Override public OperationFuture<String> delete(String deletePath, int version) { return relayPath(delegate.delete(getNamespacedPath(deletePath), version), this.<String>createFuture(deletePath)); }
@Override public OperationFuture<String> create(String path, @Nullable byte[] data, CreateMode createMode, boolean createParent, Iterable<ACL> acl) { return relayPath(delegate.create(getNamespacedPath(path), data, createMode, createParent, acl), this.<String>createFuture(path)); }
@Override public OperationFuture<ACLData> getACL(String path) { return relayFuture(delegate.getACL(getNamespacedPath(path)), this.<ACLData>createFuture(path)); }
@Override public OperationFuture<String> delete(String deletePath, int version) { return relayPath(delegate.delete(getNamespacedPath(deletePath), version), this.<String>createFuture(deletePath)); }
/** * Creates a {@link ZKClient} that will add prefix namespace for every paths. * * @param zkClient The {@link ZKClient} for operations delegation. * @param namespace The prefix namespace to be prepended to paths. * @return A {@link ZKClient} that will add namespace to every path. */ public static ZKClient namespace(ZKClient zkClient, String namespace) { return new NamespaceZKClient(zkClient, namespace); }
@Override public OperationFuture<ACLData> getACL(String path) { return relayFuture(delegate.getACL(getNamespacedPath(path)), this.<ACLData>createFuture(path)); }
@Override public OperationFuture<String> create(String path, @Nullable byte[] data, CreateMode createMode, boolean createParent, Iterable<ACL> acl) { return relayPath(delegate.create(getNamespacedPath(path), data, createMode, createParent, acl), this.<String>createFuture(path)); }
@Override public OperationFuture<NodeChildren> getChildren(String path, @Nullable Watcher watcher) { return relayFuture(delegate.getChildren(getNamespacedPath(path), watcher), this.<NodeChildren>createFuture(path)); }
@Override public OperationFuture<Stat> setData(String dataPath, byte[] data, int version) { return relayFuture(delegate.setData(getNamespacedPath(dataPath), data, version), this.<Stat>createFuture(dataPath)); }
@Override public OperationFuture<Stat> setData(String dataPath, byte[] data, int version) { return relayFuture(delegate.setData(getNamespacedPath(dataPath), data, version), this.<Stat>createFuture(dataPath)); }
@Override public OperationFuture<Stat> setACL(String path, Iterable<ACL> acl, int version) { return relayFuture(delegate.setACL(getNamespacedPath(path), acl, version), this.<Stat>createFuture(path)); }
@Override public OperationFuture<Stat> exists(String path, @Nullable Watcher watcher) { return relayFuture(delegate.exists(getNamespacedPath(path), watcher), this.<Stat>createFuture(path)); }
@Override public OperationFuture<NodeData> getData(String path, @Nullable Watcher watcher) { return relayFuture(delegate.getData(getNamespacedPath(path), watcher), this.<NodeData>createFuture(path)); }
@Override public OperationFuture<NodeData> getData(String path, @Nullable Watcher watcher) { return relayFuture(delegate.getData(getNamespacedPath(path), watcher), this.<NodeData>createFuture(path)); }
@Override public OperationFuture<NodeChildren> getChildren(String path, @Nullable Watcher watcher) { return relayFuture(delegate.getChildren(getNamespacedPath(path), watcher), this.<NodeChildren>createFuture(path)); }
@Override public OperationFuture<Stat> exists(String path, @Nullable Watcher watcher) { return relayFuture(delegate.exists(getNamespacedPath(path), watcher), this.<Stat>createFuture(path)); }