refactoring
Project: http://git-wip-us.apache.org/repos/asf/curator/repo Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/476d55fe Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/476d55fe Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/476d55fe Branch: refs/heads/CURATOR-3.0 Commit: 476d55fe210621d3647355a08c0fb7a926d88a21 Parents: 1ebe821 Author: randgalt <randg...@apache.org> Authored: Fri Jan 6 15:57:06 2017 -0500 Committer: randgalt <randg...@apache.org> Committed: Fri Jan 6 15:57:06 2017 -0500 ---------------------------------------------------------------------- .../curator/x/async/AsyncCreateBuilder.java | 114 ----------------- .../curator/x/async/AsyncCuratorFramework.java | 2 + .../x/async/AsyncCuratorFrameworkDsl.java | 99 --------------- .../curator/x/async/AsyncDeleteBuilder.java | 54 -------- .../curator/x/async/AsyncEnsemblable.java | 32 ----- .../curator/x/async/AsyncExistsBuilder.java | 36 ------ .../curator/x/async/AsyncGetACLBuilder.java | 37 ------ .../x/async/AsyncGetChildrenBuilder.java | 36 ------ .../curator/x/async/AsyncGetConfigBuilder.java | 35 ------ .../curator/x/async/AsyncGetDataBuilder.java | 52 -------- .../curator/x/async/AsyncMultiTransaction.java | 38 ------ .../curator/x/async/AsyncPathAndBytesable.java | 36 ------ .../apache/curator/x/async/AsyncPathable.java | 34 ----- .../curator/x/async/AsyncReconfigBuilder.java | 117 ----------------- .../x/async/AsyncRemoveWatchesBuilder.java | 125 ------------------ .../curator/x/async/AsyncSetACLBuilder.java | 48 ------- .../curator/x/async/AsyncSetDataBuilder.java | 53 -------- .../org/apache/curator/x/async/AsyncStage.java | 2 +- .../curator/x/async/AsyncSyncBuilder.java | 27 ---- .../x/async/AsyncTransactionCheckBuilder.java | 35 ------ .../x/async/AsyncTransactionCreateBuilder.java | 66 ---------- .../x/async/AsyncTransactionDeleteBuilder.java | 35 ------ .../curator/x/async/AsyncTransactionOp.java | 54 -------- .../x/async/AsyncTransactionSetDataBuilder.java | 51 -------- .../apache/curator/x/async/CreateOption.java | 76 ----------- .../apache/curator/x/async/DeleteOption.java | 44 ------- .../apache/curator/x/async/ExistsOption.java | 35 ------ .../curator/x/async/RemoveWatcherOption.java | 45 ------- .../x/async/WatchedAsyncCuratorFramework.java | 54 -------- .../curator/x/async/api/AsyncCreateBuilder.java | 115 +++++++++++++++++ .../x/async/api/AsyncCuratorFrameworkDsl.java | 99 +++++++++++++++ .../curator/x/async/api/AsyncDeleteBuilder.java | 55 ++++++++ .../curator/x/async/api/AsyncEnsemblable.java | 32 +++++ .../curator/x/async/api/AsyncExistsBuilder.java | 37 ++++++ .../curator/x/async/api/AsyncGetACLBuilder.java | 38 ++++++ .../x/async/api/AsyncGetChildrenBuilder.java | 37 ++++++ .../x/async/api/AsyncGetConfigBuilder.java | 36 ++++++ .../x/async/api/AsyncGetDataBuilder.java | 53 ++++++++ .../x/async/api/AsyncMultiTransaction.java | 39 ++++++ .../x/async/api/AsyncPathAndBytesable.java | 36 ++++++ .../curator/x/async/api/AsyncPathable.java | 34 +++++ .../x/async/api/AsyncReconfigBuilder.java | 118 +++++++++++++++++ .../x/async/api/AsyncRemoveWatchesBuilder.java | 126 +++++++++++++++++++ .../curator/x/async/api/AsyncSetACLBuilder.java | 49 ++++++++ .../x/async/api/AsyncSetDataBuilder.java | 54 ++++++++ .../curator/x/async/api/AsyncSyncBuilder.java | 29 +++++ .../async/api/AsyncTransactionCheckBuilder.java | 35 ++++++ .../api/AsyncTransactionCreateBuilder.java | 66 ++++++++++ .../api/AsyncTransactionDeleteBuilder.java | 35 ++++++ .../curator/x/async/api/AsyncTransactionOp.java | 54 ++++++++ .../api/AsyncTransactionSetDataBuilder.java | 51 ++++++++ .../curator/x/async/api/CreateOption.java | 76 +++++++++++ .../curator/x/async/api/DeleteOption.java | 44 +++++++ .../curator/x/async/api/ExistsOption.java | 35 ++++++ .../x/async/api/RemoveWatcherOption.java | 45 +++++++ .../async/api/WatchedAsyncCuratorFramework.java | 59 +++++++++ .../x/async/details/AsyncCreateBuilderImpl.java | 6 +- .../details/AsyncCuratorFrameworkImpl.java | 1 + .../x/async/details/AsyncDeleteBuilderImpl.java | 6 +- .../x/async/details/AsyncExistsBuilderImpl.java | 6 +- .../details/AsyncGetChildrenBuilderImpl.java | 4 +- .../details/AsyncGetConfigBuilderImpl.java | 4 +- .../async/details/AsyncGetDataBuilderImpl.java | 4 +- .../async/details/AsyncReconfigBuilderImpl.java | 4 +- .../details/AsyncRemoveWatchesBuilderImpl.java | 6 +- .../x/async/details/AsyncSetACLBuilderImpl.java | 4 +- .../async/details/AsyncSetDataBuilderImpl.java | 4 +- .../x/async/details/AsyncTransactionOpImpl.java | 14 +-- .../curator/x/async/TestBasicOperations.java | 4 +- 69 files changed, 1524 insertions(+), 1502 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCreateBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCreateBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCreateBuilder.java deleted file mode 100644 index 708ae75..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCreateBuilder.java +++ /dev/null @@ -1,114 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.zookeeper.CreateMode; -import org.apache.zookeeper.data.ACL; -import org.apache.zookeeper.data.Stat; -import java.util.List; -import java.util.Set; - -/** - * Builder for ZNode creates - */ -public interface AsyncCreateBuilder extends AsyncPathAndBytesable<AsyncStage<String>> -{ - /** - * Have the operation fill the provided stat object - * - * @param stat the stat to have filled in - * @return this - */ - AsyncPathAndBytesable<AsyncStage<String>> storingStatIn(Stat stat); - - /** - * Use the given create mode. The default is {@link org.apache.zookeeper.CreateMode#PERSISTENT} - * - * @param createMode mode to use - * @return this - */ - AsyncPathAndBytesable<AsyncStage<String>> withMode(CreateMode createMode); - - /** - * Set an ACL list (default is {@link org.apache.zookeeper.ZooDefs.Ids#OPEN_ACL_UNSAFE}) - * - * @param aclList the ACL list to use - * @return this - */ - AsyncPathAndBytesable<AsyncStage<String>> withACL(List<ACL> aclList); - - /** - * Options to change how the ZNode is created - * - * @param options options - * @return this - */ - AsyncPathAndBytesable<AsyncStage<String>> withOptions(Set<CreateOption> options); - - /** - * set options and ACLs - * - * @param options options - * @param aclList the ACL list to use - * @see #withOptions(java.util.Set) - * @see #withACL(java.util.List) - * @return this - */ - AsyncPathAndBytesable<AsyncStage<String>> withOptions(Set<CreateOption> options, List<ACL> aclList); - - /** - * set options, mode and ACLs - * - * @param options options - * @param createMode mode to use - * @param aclList the ACL list to use - * @see #withACL(java.util.List) - * @see #withOptions(java.util.Set) - * @see #withMode(org.apache.zookeeper.CreateMode) - * @see #withACL(java.util.List) - * @return this - */ - AsyncPathAndBytesable<AsyncStage<String>> withOptions(Set<CreateOption> options, CreateMode createMode, List<ACL> aclList); - - /** - * set options and mode - * - * @param options options - * @param createMode mode to use - * @see #withOptions(java.util.Set) - * @see #withMode(org.apache.zookeeper.CreateMode) - * @return this - */ - AsyncPathAndBytesable<AsyncStage<String>> withOptions(Set<CreateOption> options, CreateMode createMode); - - /** - * set options, mode, ACLs, and stat - * - * @param options options - * @param createMode mode to use - * @param aclList the ACL list to use - * @param stat the stat to have filled in - * @see #withOptions(java.util.Set) - * @see #withMode(org.apache.zookeeper.CreateMode) - * @see #withACL(java.util.List) - * @see #storingStatIn(org.apache.zookeeper.data.Stat) - * @return this - */ - AsyncPathAndBytesable<AsyncStage<String>> withOptions(Set<CreateOption> options, CreateMode createMode, List<ACL> aclList, Stat stat); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCuratorFramework.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCuratorFramework.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCuratorFramework.java index c12a28b..d1c5991 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCuratorFramework.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCuratorFramework.java @@ -20,6 +20,8 @@ package org.apache.curator.x.async; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.api.UnhandledErrorListener; +import org.apache.curator.x.async.api.AsyncCuratorFrameworkDsl; +import org.apache.curator.x.async.api.WatchedAsyncCuratorFramework; import org.apache.curator.x.async.details.AsyncCuratorFrameworkImpl; /** http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCuratorFrameworkDsl.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCuratorFrameworkDsl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCuratorFrameworkDsl.java deleted file mode 100644 index 2c777d5..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncCuratorFrameworkDsl.java +++ /dev/null @@ -1,99 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.curator.framework.api.transaction.CuratorOp; - -/** - * Zookeeper framework-style client - */ -public interface AsyncCuratorFrameworkDsl extends WatchedAsyncCuratorFramework -{ - /** - * Start a create builder - * - * @return builder object - */ - AsyncCreateBuilder create(); - - /** - * Start a delete builder - * - * @return builder object - */ - AsyncDeleteBuilder delete(); - - /** - * Start a set data builder - * - * @return builder object - */ - AsyncSetDataBuilder setData(); - - /** - * Start a get ACL builder - * - * @return builder object - */ - AsyncGetACLBuilder getACL(); - - /** - * Start a set ACL builder - * - * @return builder object - */ - AsyncSetACLBuilder setACL(); - - /** - * Start a reconfig builder - * - * @return builder object - */ - AsyncReconfigBuilder reconfig(); - - /** - * Start a transaction builder - * - * @return builder object - */ - AsyncMultiTransaction transaction(); - - /** - * Allocate an operation that can be used with {@link #transaction()}. - * NOTE: {@link CuratorOp} instances created by this builder are - * reusable. - * - * @return operation builder - */ - AsyncTransactionOp transactionOp(); - - /** - * Start a sync builder - * - * @return builder object - */ - AsyncSyncBuilder sync(); - - /** - * Start a remove watches builder - * - * @return builder object - */ - AsyncRemoveWatchesBuilder removeWatches(); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncDeleteBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncDeleteBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncDeleteBuilder.java deleted file mode 100644 index c16cbe2..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncDeleteBuilder.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import java.util.Set; - -/** - * Builder for ZNode deletions - */ -public interface AsyncDeleteBuilder extends AsyncPathable<AsyncStage<Void>> -{ - /** - * Changes the deletion options. By default, no options are used - * - * @param options set of deletion options - * @return this - */ - AsyncPathable<AsyncStage<Void>> withOptions(Set<DeleteOption> options); - - /** - * Set options and version. - * - * @param options set of deletion options - * @param version version to use - * @see #withOptions(java.util.Set) - * @see #withVersion(int) - * @return this - */ - AsyncPathable<AsyncStage<Void>> withOptionsAndVersion(Set<DeleteOption> options, int version); - - /** - * Changes the version number passed to the delete() method. By default, -1 is used - * - * @param version version to use - * @return this - */ - AsyncPathable<AsyncStage<Void>> withVersion(int version); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncEnsemblable.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncEnsemblable.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncEnsemblable.java deleted file mode 100644 index b096fa1..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncEnsemblable.java +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -/** - * Terminal operation for config/reconfig builders - */ -public interface AsyncEnsemblable<T> -{ - /** - * Commit the currently building operation and invoke ZooKeeper - * - * @return async stage - */ - T forEnsemble(); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncExistsBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncExistsBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncExistsBuilder.java deleted file mode 100644 index 9c14076..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncExistsBuilder.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.zookeeper.data.Stat; -import java.util.Set; - -/** - * Builder for ZNode exists - */ -public interface AsyncExistsBuilder extends AsyncPathable<AsyncStage<Stat>> -{ - /** - * Use the given options. The default is to use no options - * - * @param options options to use - * @return this - */ - AsyncPathable<AsyncStage<Stat>> withOptions(Set<ExistsOption> options); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetACLBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetACLBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetACLBuilder.java deleted file mode 100644 index 355a498..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetACLBuilder.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.zookeeper.data.ACL; -import org.apache.zookeeper.data.Stat; -import java.util.List; - -/** - * Builder for getAcls - */ -public interface AsyncGetACLBuilder extends AsyncPathable<AsyncStage<List<ACL>>> -{ - /** - * Have the operation fill the provided stat object - * - * @param stat the stat to have filled in - * @return this - */ - AsyncPathable<AsyncStage<List<ACL>>> storingStatIn(Stat stat); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetChildrenBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetChildrenBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetChildrenBuilder.java deleted file mode 100644 index 3cf671f..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetChildrenBuilder.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.zookeeper.data.Stat; -import java.util.List; - -/** - * Builder for getChildren() - */ -public interface AsyncGetChildrenBuilder extends AsyncPathable<AsyncStage<List<String>>> -{ - /** - * Have the operation fill the provided stat object - * - * @param stat the stat to have filled in - * @return this - */ - AsyncPathable<AsyncStage<List<String>>> storingStatIn(Stat stat); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetConfigBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetConfigBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetConfigBuilder.java deleted file mode 100644 index 8e5ec48..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetConfigBuilder.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.zookeeper.data.Stat; - -/** - * Builder for getConfig() - */ -public interface AsyncGetConfigBuilder extends AsyncEnsemblable<AsyncStage<byte[]>> -{ - /** - * Have the operation fill the provided stat object - * - * @param stat the stat to have filled in - * @return this - */ - AsyncEnsemblable<AsyncStage<byte[]>> storingStatIn(Stat stat); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetDataBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetDataBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetDataBuilder.java deleted file mode 100644 index bae9b2b..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncGetDataBuilder.java +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.zookeeper.data.Stat; - -/** - * Builder to get ZNode data - */ -public interface AsyncGetDataBuilder extends AsyncPathable<AsyncStage<byte[]>> -{ - /** - * Cause the data to be de-compressed using the configured compression provider - * - * @return this - */ - AsyncPathable<AsyncStage<byte[]>> decompressed(); - - /** - * Have the operation fill the provided stat object - * - * @param stat the stat to have filled in - * @return this - */ - AsyncPathable<AsyncStage<byte[]>> storingStatIn(Stat stat); - - /** - * Have the operation fill the provided stat object and have the data be de-compressed - * - * @param stat the stat to have filled in - * @see #decompressed() - * @see #storingStatIn(org.apache.zookeeper.data.Stat) - * @return this - */ - AsyncPathable<AsyncStage<byte[]>> decompressedStoringStatIn(Stat stat); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncMultiTransaction.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncMultiTransaction.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncMultiTransaction.java deleted file mode 100644 index 8ea27a2..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncMultiTransaction.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.curator.framework.api.transaction.CuratorOp; -import org.apache.curator.framework.api.transaction.CuratorTransactionResult; -import java.util.List; - -/** - * Terminal operation to support multi/transactions - */ -public interface AsyncMultiTransaction -{ - /** - * Invoke ZooKeeper to commit the given operations as a single transaction. Create the - * operation instances via {@link org.apache.curator.x.async.AsyncCuratorFramework#transactionOp()} - * - * @param operations operations that make up the transaction. - * @return AsyncStage instance for managing the completion - */ - AsyncStage<List<CuratorTransactionResult>> forOperations(List<CuratorOp> operations); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncPathAndBytesable.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncPathAndBytesable.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncPathAndBytesable.java deleted file mode 100644 index cdd5d76..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncPathAndBytesable.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.curator.x.async; - -/** - * Terminal operation for various builders - */ -public interface AsyncPathAndBytesable<T> extends AsyncPathable<T> -{ - /** - * Commit the currently building operation using the given path and data - * and invoke ZooKeeper - * - * @param path the path - * @param data the data - * @return usually an async stage - */ - T forPath(String path, byte[] data); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncPathable.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncPathable.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncPathable.java deleted file mode 100644 index 8396fd6..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncPathable.java +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -/** - * Terminal operation for various builders - */ -public interface AsyncPathable<T> -{ - /** - * Commit the currently building operation using the given path - * and invoke ZooKeeper - * - * @param path the path - * @return usually an async stage - */ - T forPath(String path); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncReconfigBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncReconfigBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncReconfigBuilder.java deleted file mode 100644 index 4be4abc..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncReconfigBuilder.java +++ /dev/null @@ -1,117 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.zookeeper.data.Stat; -import java.util.List; - -/** - * Builder for reconfigs - */ -public interface AsyncReconfigBuilder -{ - /** - * Sets one or more members that are meant to be the ensemble. - * The expected format is: <code>server.[id]=[hostname]:[peer port]:[election port]:[type];[client port]</code> - * - * @param servers The new server list - * @return this - */ - AsyncEnsemblable<AsyncStage<Void>> withNewMembers(List<String> servers); - - /** - * Adds servers to join the ensemble and/or servers to leave the ensemble. The format for <strong>joining</strong> - * is: <code>server.[id]=[hostname]:[peer port]:[election port]:[type];[client port]</code>. The format - * for <strong>leaving</strong> is a list of server IDs. - * - * @param joining The servers joining - * @param leaving The servers leaving - * @return this - */ - AsyncEnsemblable<AsyncStage<Void>> withJoiningAndLeaving(List<String> joining, List<String> leaving); - - /** - * Same as {@link #withNewMembers(java.util.List)} but allows specified the configuration version to use. - * By default the configuration version is -1. - * - * @param servers The new server list - * @param fromConfig the config version to use - * @see #withNewMembers(java.util.List) - * @return this - */ - AsyncEnsemblable<AsyncStage<Void>> withNewMembers(List<String> servers, long fromConfig); - - /** - * Specify joiners, leaves and config version. By default the configuration version is -1. - * - * @param joining The servers joining - * @param leaving The servers leaving - * @param fromConfig the config version to use - * @see #withJoiningAndLeaving(java.util.List, java.util.List) - * @return this - */ - AsyncEnsemblable<AsyncStage<Void>> withJoiningAndLeaving(List<String> joining, List<String> leaving, long fromConfig); - - /** - * Same as {@link #withNewMembers(java.util.List)} but allows a stat to hold the stat info from "/zookeeper/config" - * - * @param servers The servers joining. - * @param stat stat to hold the stat value - * @see #withNewMembers(java.util.List) - * @return this - */ - AsyncEnsemblable<AsyncStage<Void>> withNewMembers(List<String> servers, Stat stat); - - /** - * Same as {@link #withJoiningAndLeaving(java.util.List, java.util.List)} - * but allows a stat to hold the stat info from "/zookeeper/config" - * - * @param joining The servers joining - * @param leaving The servers leaving - * @param stat stat to hold the stat value - * @see #withJoiningAndLeaving(java.util.List, java.util.List) - * @return this - */ - AsyncEnsemblable<AsyncStage<Void>> withJoiningAndLeaving(List<String> joining, List<String> leaving, Stat stat); - - /** - * Same as {@link #withNewMembers(java.util.List)} with stat and config version - * - * @param servers The servers joining. - * @param stat stat to hold the stat value - * @param fromConfig the config version to use - * @see #withNewMembers(java.util.List, long) - * @see #withNewMembers(java.util.List, org.apache.zookeeper.data.Stat) - * @return this - */ - AsyncEnsemblable<AsyncStage<Void>> withNewMembers(List<String> servers, Stat stat, long fromConfig); - - /** - * Same as {@link #withJoiningAndLeaving(java.util.List, java.util.List)} with stat and config version - * - * @param joining The servers joining - * @param leaving The servers leaving - * @param stat stat to hold the stat value - * @param fromConfig the config version to use - * @see #withJoiningAndLeaving(java.util.List, java.util.List, long) - * @see #withJoiningAndLeaving(java.util.List, java.util.List, org.apache.zookeeper.data.Stat) - * @return this - */ - AsyncEnsemblable<AsyncStage<Void>> withJoiningAndLeaving(List<String> joining, List<String> leaving, Stat stat, long fromConfig); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncRemoveWatchesBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncRemoveWatchesBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncRemoveWatchesBuilder.java deleted file mode 100644 index c73569f..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncRemoveWatchesBuilder.java +++ /dev/null @@ -1,125 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.curator.framework.api.CuratorWatcher; -import org.apache.zookeeper.Watcher; -import java.util.Set; - -/** - * Builder for watcher removal - */ -public interface AsyncRemoveWatchesBuilder -{ - /** - * @param watcher the watcher to remove - * @return this - */ - AsyncPathable<AsyncStage<Void>> removing(Watcher watcher); - - /** - * @param watcher the watcher to remove - * @return this - */ - AsyncPathable<AsyncStage<Void>> removing(CuratorWatcher watcher); - - /** - * Remove all watchers - * - * @return this - */ - AsyncPathable<AsyncStage<Void>> removingAll(); - - /** - * @param watcher the watcher to remove - * @param options watcher removal options - * @return this - */ - AsyncPathable<AsyncStage<Void>> removing(Watcher watcher, Set<RemoveWatcherOption> options); - - /** - * @param watcher the watcher to remove - * @param options watcher removal options - * @return this - */ - AsyncPathable<AsyncStage<Void>> removing(CuratorWatcher watcher, Set<RemoveWatcherOption> options); - - /** - * Remove all watchers - * - * @param options watcher removal options - * @return this - */ - AsyncPathable<AsyncStage<Void>> removingAll(Set<RemoveWatcherOption> options); - - /** - * Remove a watcher of a given type - * - * @param watcher the watcher to remove - * @param watcherType watcher type - * @param options watcher removal options - * @return this - */ - AsyncPathable<AsyncStage<Void>> removing(Watcher watcher, Watcher.WatcherType watcherType, Set<RemoveWatcherOption> options); - - /** - * Remove a watcher of a given type - * - * @param watcher the watcher to remove - * @param watcherType watcher type - * @param options watcher removal options - * @return this - */ - AsyncPathable<AsyncStage<Void>> removing(CuratorWatcher watcher, Watcher.WatcherType watcherType, Set<RemoveWatcherOption> options); - - /** - * Remove all watchers of a given type - * - * @param watcherType watcher type - * @param options watcher removal options - * @return this - */ - AsyncPathable<AsyncStage<Void>> removingAll(Watcher.WatcherType watcherType, Set<RemoveWatcherOption> options); - - /** - * Remove a watcher of a given type - * - * @param watcher the watcher to remove - * @param watcherType watcher type - * @return this - */ - AsyncPathable<AsyncStage<Void>> removing(Watcher watcher, Watcher.WatcherType watcherType); - - /** - * Remove a watcher of a given type - * - * @param watcher the watcher to remove - * @param watcherType watcher type - * @return this - */ - AsyncPathable<AsyncStage<Void>> removing(CuratorWatcher watcher, Watcher.WatcherType watcherType); - - /** - * Remove all watchers of a given type - * - * @param watcherType watcher type - * @return this - */ - AsyncPathable<AsyncStage<Void>> removingAll(Watcher.WatcherType watcherType); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSetACLBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSetACLBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSetACLBuilder.java deleted file mode 100644 index c2ad6be..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSetACLBuilder.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.zookeeper.data.ACL; -import org.apache.zookeeper.data.Stat; -import java.util.List; - -/** - * Builder for setting ACLs - */ -public interface AsyncSetACLBuilder -{ - /** - * Set the given ACLs - * - * @param aclList ACLs to set - * @return this - */ - AsyncPathable<AsyncStage<Stat>> withACL(List<ACL> aclList); - - /** - * Set the given ACLs only if the "a" version matches. By default -1 is used - * which matches all versions. - * - * @param aclList ACLs to set - * @param version "a" version - * @see org.apache.zookeeper.data.Stat#getAversion() - * @return this - */ - AsyncPathable<AsyncStage<Stat>> withACL(List<ACL> aclList, int version); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSetDataBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSetDataBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSetDataBuilder.java deleted file mode 100644 index a1f0ff5..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSetDataBuilder.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.zookeeper.data.Stat; - -/** - * Builder for setting ZNode data - */ -public interface AsyncSetDataBuilder extends AsyncPathAndBytesable<AsyncStage<Stat>> -{ - /** - * Cause the data to be compressed using the configured compression provider - * - * @return this - */ - AsyncPathAndBytesable<AsyncStage<Stat>> compressed(); - - /** - * Cause the data to be compressed using the configured compression provider. - * Only sets if the version matches. By default -1 is used - * which matches all versions. - * - * @param version version - * @return this - */ - AsyncPathAndBytesable<AsyncStage<Stat>> compressedWithVersion(int version); - - /** - * Only sets if the version matches. By default -1 is used - * which matches all versions. - * - * @param version version - * @return this - */ - AsyncPathAndBytesable<AsyncStage<Stat>> withVersion(int version); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncStage.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncStage.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncStage.java index a8d594a..52b4c38 100644 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncStage.java +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncStage.java @@ -27,7 +27,7 @@ import java.util.concurrent.CompletionStage; public interface AsyncStage<T> extends CompletionStage<T> { /** - * If the {@link org.apache.curator.x.async.WatchedAsyncCuratorFramework} facade is + * If the {@link org.apache.curator.x.async.api.WatchedAsyncCuratorFramework} facade is * used (via {@link AsyncCuratorFramework#watched()}), this returns the completion * stage used when the watcher is triggered * http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSyncBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSyncBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSyncBuilder.java deleted file mode 100644 index 98da505..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncSyncBuilder.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -/** - * Builder for syncs - */ -public interface AsyncSyncBuilder extends - AsyncPathable<AsyncStage<Void>> -{ -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionCheckBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionCheckBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionCheckBuilder.java deleted file mode 100644 index ece505c..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionCheckBuilder.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.curator.framework.api.transaction.CuratorOp; - -/** - * @see org.apache.curator.x.async.AsyncTransactionOp#check() - */ -public interface AsyncTransactionCheckBuilder extends AsyncPathable<CuratorOp> -{ - /** - * Use the given version (the default is -1) - * - * @param version version to use - * @return this - */ - AsyncPathable<CuratorOp> withVersion(int version); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionCreateBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionCreateBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionCreateBuilder.java deleted file mode 100644 index b39d69e..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionCreateBuilder.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.curator.framework.api.transaction.CuratorOp; -import org.apache.zookeeper.CreateMode; -import org.apache.zookeeper.data.ACL; -import java.util.List; - -/** - * @see org.apache.curator.x.async.AsyncTransactionOp#create() - */ -public interface AsyncTransactionCreateBuilder extends AsyncPathAndBytesable<CuratorOp> -{ - /** - * Specify a mode for the create. The default is {@link org.apache.zookeeper.CreateMode#PERSISTENT} - * - * @param createMode mode - * @return this - */ - AsyncPathable<CuratorOp> withMode(CreateMode createMode); - - /** - * Set an ACL list (default is {@link org.apache.zookeeper.ZooDefs.Ids#OPEN_ACL_UNSAFE}) - * - * @param aclList the ACL list to use - * @return this - */ - AsyncPathable<CuratorOp> withACL(List<ACL> aclList); - - /** - * Cause the data to be compressed using the configured compression provider - * - * @return this - */ - AsyncPathable<CuratorOp> compressed(); - - /** - * Specify mode, acl list and compression - * - * @param createMode mode - * @param aclList the ACL list to use - * @param compressed true to compress - * @see #withMode(org.apache.zookeeper.CreateMode) - * @see #withACL(java.util.List) - * @see #compressed() - * @return this - */ - AsyncPathable<CuratorOp> withOptions(CreateMode createMode, List<ACL> aclList, boolean compressed); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionDeleteBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionDeleteBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionDeleteBuilder.java deleted file mode 100644 index c49d42e..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionDeleteBuilder.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.curator.framework.api.transaction.CuratorOp; - -/** - * @see org.apache.curator.x.async.AsyncTransactionOp#delete() - */ -public interface AsyncTransactionDeleteBuilder extends AsyncPathable<CuratorOp> -{ - /** - * Changes the version number used. By default, -1 is used - * - * @param version version to use - * @return this - */ - AsyncPathable<CuratorOp> withVersion(int version); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionOp.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionOp.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionOp.java deleted file mode 100644 index a659d6f..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionOp.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -/** - * Builds operations that can be committed as a transaction - * via {@link org.apache.curator.x.async.AsyncCuratorFramework#transaction()} - */ -public interface AsyncTransactionOp -{ - /** - * Start a create builder in the transaction - * - * @return builder object - */ - AsyncTransactionCreateBuilder create(); - - /** - * Start a delete builder in the transaction - * - * @return builder object - */ - AsyncTransactionDeleteBuilder delete(); - - /** - * Start a setData builder in the transaction - * - * @return builder object - */ - AsyncTransactionSetDataBuilder setData(); - - /** - * Start a check builder in the transaction - * - * @return builder object - */ - AsyncTransactionCheckBuilder check(); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionSetDataBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionSetDataBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionSetDataBuilder.java deleted file mode 100644 index 5fce4d5..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/AsyncTransactionSetDataBuilder.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -import org.apache.curator.framework.api.transaction.CuratorOp; - -/** - * @see org.apache.curator.x.async.AsyncTransactionOp#setData() - */ -public interface AsyncTransactionSetDataBuilder extends AsyncPathAndBytesable<CuratorOp> -{ - /** - * Changes the version number used. By default, -1 is used - * - * @param version version to use - * @return this - */ - AsyncPathAndBytesable<CuratorOp> withVersion(int version); - - /** - * Cause the data to be compressed using the configured compression provider - * - * @return this - */ - AsyncPathAndBytesable<CuratorOp> compressed(); - - /** - * Cause the data to be compressed using the configured compression provider. - * Also changes the version number used. By default, -1 is used - * - * @param version version to use - * @return this - */ - AsyncPathAndBytesable<CuratorOp> withVersionCompressed(int version); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/CreateOption.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/CreateOption.java b/curator-x-async/src/main/java/org/apache/curator/x/async/CreateOption.java deleted file mode 100644 index 560c901..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/CreateOption.java +++ /dev/null @@ -1,76 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -/** - * Options when creating ZNodes - */ -public enum CreateOption -{ - /** - * Causes any parent nodes to get created if they haven't already been - */ - createParentsIfNeeded, - - /** - * Causes any parent nodes to get created using {@link org.apache.zookeeper.CreateMode#CONTAINER} if they haven't already been. - * IMPORTANT NOTE: container creation is a new feature in recent versions of ZooKeeper. - * If the ZooKeeper version you're using does not support containers, the parent nodes - * are created as ordinary PERSISTENT nodes. - */ - createParentsAsContainers, - - /** - * <p> - * Hat-tip to https://github.com/sbridges for pointing this out - * </p> - * - * <p> - * It turns out there is an edge case that exists when creating sequential-ephemeral - * nodes. The creation can succeed on the server, but the server can crash before - * the created node name is returned to the client. However, the ZK session is still - * valid so the ephemeral node is not deleted. Thus, there is no way for the client to - * determine what node was created for them. - * </p> - * - * <p> - * Even without sequential-ephemeral, however, the create can succeed on the sever - * but the client (for various reasons) will not know it. - * </p> - * - * <p> - * Putting the create builder into protection mode works around this. - * The name of the node that is created is prefixed with a GUID. If node creation fails - * the normal retry mechanism will occur. On the retry, the parent path is first searched - * for a node that has the GUID in it. If that node is found, it is assumed to be the lost - * node that was successfully created on the first try and is returned to the caller. - * </p> - */ - doProtected, - - /** - * Cause the data to be compressed using the configured compression provider - */ - compress, - - /** - * If the ZNode already exists, Curator will instead call setData() - */ - setDataIfExists -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/DeleteOption.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/DeleteOption.java b/curator-x-async/src/main/java/org/apache/curator/x/async/DeleteOption.java deleted file mode 100644 index 1e8dfbd..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/DeleteOption.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -/** - * Options to use when deleting ZNodes - */ -public enum DeleteOption -{ - /** - * Prevents the reporting of {@link org.apache.zookeeper.KeeperException.NoNodeException}s. - * If the ZNode doesn't exist the delete method will appear to succeed. - */ - quietly, - - /** - * Will also delete children if they exist - */ - deletingChildrenIfNeeded, - - /** - * Solves edge cases where an operation may succeed on the server but connection failure occurs before a - * response can be successfully returned to the client. - * - * @see org.apache.curator.framework.api.GuaranteeableDeletable - */ - guaranteed -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/ExistsOption.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/ExistsOption.java b/curator-x-async/src/main/java/org/apache/curator/x/async/ExistsOption.java deleted file mode 100644 index 6efc8bd..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/ExistsOption.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -/** - * Options to use when checking for ZNode existence - */ -public enum ExistsOption -{ - /** - * see {@link org.apache.curator.x.async.CreateOption#createParentsIfNeeded} - */ - createParentsIfNeeded, - - /** - * see {@link org.apache.curator.x.async.CreateOption#createParentsAsContainers} - */ - createParentsAsContainers -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/RemoveWatcherOption.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/RemoveWatcherOption.java b/curator-x-async/src/main/java/org/apache/curator/x/async/RemoveWatcherOption.java deleted file mode 100644 index f1c01a4..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/RemoveWatcherOption.java +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -/** - * Options to use when removing watchers - */ -public enum RemoveWatcherOption -{ - /** - * Solves edge cases where an operation may succeed on the server but connection failure occurs before a - * response can be successfully returned to the client. - * - * @see org.apache.curator.framework.api.GuaranteeableDeletable - */ - guaranteed, - - /** - * Specify if the client should just remove client side watches if a connection to ZK - * is not available. Note that the standard Curator retry loop will not be used in t - */ - local, - - /** - * Prevents the reporting of {@link org.apache.zookeeper.KeeperException.NoNodeException}s. - * If the watcher doesn't exist the remove method will appear to succeed. - */ - quietly -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/WatchedAsyncCuratorFramework.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/WatchedAsyncCuratorFramework.java b/curator-x-async/src/main/java/org/apache/curator/x/async/WatchedAsyncCuratorFramework.java deleted file mode 100644 index 92ab2bb..0000000 --- a/curator-x-async/src/main/java/org/apache/curator/x/async/WatchedAsyncCuratorFramework.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.curator.x.async; - -/** - * operations that support watching - */ -public interface WatchedAsyncCuratorFramework -{ - /** - * Start an exists builder. The builder will return a Stat object as if org.apache.zookeeper.ZooKeeper.exists() were called. Thus, a null - * means that it does not exist and an actual Stat object means it does exist. - * - * @return builder object - */ - AsyncExistsBuilder checkExists(); - - /** - * Start a get data builder - * - * @return builder object - */ - AsyncGetDataBuilder getData(); - - /** - * Start a get children builder - * - * @return builder object - */ - AsyncGetChildrenBuilder getChildren(); - - /** - * Start a getConfig builder - * - * @return builder object - */ - AsyncGetConfigBuilder getConfig(); -} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncCreateBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncCreateBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncCreateBuilder.java new file mode 100644 index 0000000..6f077bb --- /dev/null +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncCreateBuilder.java @@ -0,0 +1,115 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.curator.x.async.api; + +import org.apache.curator.x.async.AsyncStage; +import org.apache.zookeeper.CreateMode; +import org.apache.zookeeper.data.ACL; +import org.apache.zookeeper.data.Stat; +import java.util.List; +import java.util.Set; + +/** + * Builder for ZNode creates + */ +public interface AsyncCreateBuilder extends AsyncPathAndBytesable<AsyncStage<String>> +{ + /** + * Have the operation fill the provided stat object + * + * @param stat the stat to have filled in + * @return this + */ + AsyncPathAndBytesable<AsyncStage<String>> storingStatIn(Stat stat); + + /** + * Use the given create mode. The default is {@link org.apache.zookeeper.CreateMode#PERSISTENT} + * + * @param createMode mode to use + * @return this + */ + AsyncPathAndBytesable<AsyncStage<String>> withMode(CreateMode createMode); + + /** + * Set an ACL list (default is {@link org.apache.zookeeper.ZooDefs.Ids#OPEN_ACL_UNSAFE}) + * + * @param aclList the ACL list to use + * @return this + */ + AsyncPathAndBytesable<AsyncStage<String>> withACL(List<ACL> aclList); + + /** + * Options to change how the ZNode is created + * + * @param options options + * @return this + */ + AsyncPathAndBytesable<AsyncStage<String>> withOptions(Set<CreateOption> options); + + /** + * set options and ACLs + * + * @param options options + * @param aclList the ACL list to use + * @see #withOptions(java.util.Set) + * @see #withACL(java.util.List) + * @return this + */ + AsyncPathAndBytesable<AsyncStage<String>> withOptions(Set<CreateOption> options, List<ACL> aclList); + + /** + * set options, mode and ACLs + * + * @param options options + * @param createMode mode to use + * @param aclList the ACL list to use + * @see #withACL(java.util.List) + * @see #withOptions(java.util.Set) + * @see #withMode(org.apache.zookeeper.CreateMode) + * @see #withACL(java.util.List) + * @return this + */ + AsyncPathAndBytesable<AsyncStage<String>> withOptions(Set<CreateOption> options, CreateMode createMode, List<ACL> aclList); + + /** + * set options and mode + * + * @param options options + * @param createMode mode to use + * @see #withOptions(java.util.Set) + * @see #withMode(org.apache.zookeeper.CreateMode) + * @return this + */ + AsyncPathAndBytesable<AsyncStage<String>> withOptions(Set<CreateOption> options, CreateMode createMode); + + /** + * set options, mode, ACLs, and stat + * + * @param options options + * @param createMode mode to use + * @param aclList the ACL list to use + * @param stat the stat to have filled in + * @see #withOptions(java.util.Set) + * @see #withMode(org.apache.zookeeper.CreateMode) + * @see #withACL(java.util.List) + * @see #storingStatIn(org.apache.zookeeper.data.Stat) + * @return this + */ + AsyncPathAndBytesable<AsyncStage<String>> withOptions(Set<CreateOption> options, CreateMode createMode, List<ACL> aclList, Stat stat); +} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncCuratorFrameworkDsl.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncCuratorFrameworkDsl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncCuratorFrameworkDsl.java new file mode 100644 index 0000000..813e660 --- /dev/null +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncCuratorFrameworkDsl.java @@ -0,0 +1,99 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.curator.x.async.api; + +import org.apache.curator.framework.api.transaction.CuratorOp; + +/** + * Zookeeper framework-style client + */ +public interface AsyncCuratorFrameworkDsl extends WatchedAsyncCuratorFramework +{ + /** + * Start a create builder + * + * @return builder object + */ + AsyncCreateBuilder create(); + + /** + * Start a delete builder + * + * @return builder object + */ + AsyncDeleteBuilder delete(); + + /** + * Start a set data builder + * + * @return builder object + */ + AsyncSetDataBuilder setData(); + + /** + * Start a get ACL builder + * + * @return builder object + */ + AsyncGetACLBuilder getACL(); + + /** + * Start a set ACL builder + * + * @return builder object + */ + AsyncSetACLBuilder setACL(); + + /** + * Start a reconfig builder + * + * @return builder object + */ + AsyncReconfigBuilder reconfig(); + + /** + * Start a transaction builder + * + * @return builder object + */ + AsyncMultiTransaction transaction(); + + /** + * Allocate an operation that can be used with {@link #transaction()}. + * NOTE: {@link CuratorOp} instances created by this builder are + * reusable. + * + * @return operation builder + */ + AsyncTransactionOp transactionOp(); + + /** + * Start a sync builder + * + * @return builder object + */ + AsyncSyncBuilder sync(); + + /** + * Start a remove watches builder + * + * @return builder object + */ + AsyncRemoveWatchesBuilder removeWatches(); +} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncDeleteBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncDeleteBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncDeleteBuilder.java new file mode 100644 index 0000000..0258167 --- /dev/null +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncDeleteBuilder.java @@ -0,0 +1,55 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.curator.x.async.api; + +import org.apache.curator.x.async.AsyncStage; +import java.util.Set; + +/** + * Builder for ZNode deletions + */ +public interface AsyncDeleteBuilder extends AsyncPathable<AsyncStage<Void>> +{ + /** + * Changes the deletion options. By default, no options are used + * + * @param options set of deletion options + * @return this + */ + AsyncPathable<AsyncStage<Void>> withOptions(Set<DeleteOption> options); + + /** + * Set options and version. + * + * @param options set of deletion options + * @param version version to use + * @see #withOptions(java.util.Set) + * @see #withVersion(int) + * @return this + */ + AsyncPathable<AsyncStage<Void>> withOptionsAndVersion(Set<DeleteOption> options, int version); + + /** + * Changes the version number passed to the delete() method. By default, -1 is used + * + * @param version version to use + * @return this + */ + AsyncPathable<AsyncStage<Void>> withVersion(int version); +} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncEnsemblable.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncEnsemblable.java b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncEnsemblable.java new file mode 100644 index 0000000..a4b0d33 --- /dev/null +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncEnsemblable.java @@ -0,0 +1,32 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.curator.x.async.api; + +/** + * Terminal operation for config/reconfig builders + */ +public interface AsyncEnsemblable<T> +{ + /** + * Commit the currently building operation and invoke ZooKeeper + * + * @return async stage + */ + T forEnsemble(); +} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncExistsBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncExistsBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncExistsBuilder.java new file mode 100644 index 0000000..6174c7a --- /dev/null +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncExistsBuilder.java @@ -0,0 +1,37 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.curator.x.async.api; + +import org.apache.curator.x.async.AsyncStage; +import org.apache.zookeeper.data.Stat; +import java.util.Set; + +/** + * Builder for ZNode exists + */ +public interface AsyncExistsBuilder extends AsyncPathable<AsyncStage<Stat>> +{ + /** + * Use the given options. The default is to use no options + * + * @param options options to use + * @return this + */ + AsyncPathable<AsyncStage<Stat>> withOptions(Set<ExistsOption> options); +} http://git-wip-us.apache.org/repos/asf/curator/blob/476d55fe/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncGetACLBuilder.java ---------------------------------------------------------------------- diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncGetACLBuilder.java b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncGetACLBuilder.java new file mode 100644 index 0000000..be93eaf --- /dev/null +++ b/curator-x-async/src/main/java/org/apache/curator/x/async/api/AsyncGetACLBuilder.java @@ -0,0 +1,38 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.curator.x.async.api; + +import org.apache.curator.x.async.AsyncStage; +import org.apache.zookeeper.data.ACL; +import org.apache.zookeeper.data.Stat; +import java.util.List; + +/** + * Builder for getAcls + */ +public interface AsyncGetACLBuilder extends AsyncPathable<AsyncStage<List<ACL>>> +{ + /** + * Have the operation fill the provided stat object + * + * @param stat the stat to have filled in + * @return this + */ + AsyncPathable<AsyncStage<List<ACL>>> storingStatIn(Stat stat); +}