You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ra...@apache.org on 2017/05/03 22:02:54 UTC
[6/6] curator git commit: added lots of doc
added lots of doc
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/aa86931b
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/aa86931b
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/aa86931b
Branch: refs/heads/CURATOR-397
Commit: aa86931b9392b0d6f0cf6ff161afd82e9e3749f1
Parents: ea47c6c
Author: randgalt <ra...@apache.org>
Authored: Wed May 3 17:02:31 2017 -0500
Committer: randgalt <ra...@apache.org>
Committed: Wed May 3 17:02:31 2017 -0500
----------------------------------------------------------------------
.../src/main/java/pubsub/SubPubTest.java | 18 +++++
.../src/main/java/pubsub/builders/Clients.java | 18 +++++
.../main/java/pubsub/builders/ModelSpecs.java | 18 +++++
.../src/main/java/pubsub/builders/Paths.java | 18 +++++
.../java/pubsub/messages/LocationAvailable.java | 18 +++++
.../main/java/pubsub/messages/UserCreated.java | 18 +++++
.../src/main/java/pubsub/models/Group.java | 18 +++++
.../src/main/java/pubsub/models/Instance.java | 18 +++++
.../main/java/pubsub/models/InstanceType.java | 18 +++++
.../src/main/java/pubsub/models/Message.java | 18 +++++
.../src/main/java/pubsub/models/Priority.java | 18 +++++
.../src/main/java/pubsub/util/Publisher.java | 18 +++++
.../src/main/java/pubsub/util/Subscriber.java | 18 +++++
.../x/async/modeled/JacksonModelSerializer.java | 2 +-
.../curator/x/async/modeled/ModelSpec.java | 54 +++++++++++---
.../x/async/modeled/ModeledFramework.java | 18 +++--
.../curator/x/async/modeled/NodeName.java | 18 +++++
.../curator/x/async/modeled/Resolvable.java | 18 +++++
.../apache/curator/x/async/modeled/ZPath.java | 74 +++++++++++++++-----
.../modeled/cached/CachedModeledFramework.java | 4 +-
.../x/async/modeled/cached/ModeledCache.java | 4 +-
.../modeled/details/ModeledFrameworkImpl.java | 19 +++--
.../x/async/modeled/details/ZNodeImpl.java | 18 +++++
.../x/async/modeled/details/ZPathImpl.java | 2 +-
.../x/async/modeled/typed/TypedModelSpec.java | 41 +++++++++++
.../x/async/modeled/typed/TypedModelSpec10.java | 21 ++++++
.../x/async/modeled/typed/TypedModelSpec2.java | 21 ++++++
.../x/async/modeled/typed/TypedModelSpec3.java | 21 ++++++
.../x/async/modeled/typed/TypedModelSpec4.java | 21 ++++++
.../x/async/modeled/typed/TypedModelSpec5.java | 21 ++++++
.../x/async/modeled/typed/TypedModelSpec6.java | 21 ++++++
.../x/async/modeled/typed/TypedModelSpec7.java | 21 ++++++
.../x/async/modeled/typed/TypedModelSpec8.java | 21 ++++++
.../x/async/modeled/typed/TypedModelSpec9.java | 21 ++++++
.../modeled/typed/TypedModeledFramework.java | 44 ++++++++++++
.../modeled/typed/TypedModeledFramework10.java | 21 ++++++
.../modeled/typed/TypedModeledFramework2.java | 21 ++++++
.../modeled/typed/TypedModeledFramework3.java | 21 ++++++
.../modeled/typed/TypedModeledFramework4.java | 21 ++++++
.../modeled/typed/TypedModeledFramework5.java | 21 ++++++
.../modeled/typed/TypedModeledFramework6.java | 21 ++++++
.../modeled/typed/TypedModeledFramework7.java | 21 ++++++
.../modeled/typed/TypedModeledFramework8.java | 21 ++++++
.../modeled/typed/TypedModeledFramework9.java | 21 ++++++
.../x/async/modeled/typed/TypedZPath.java | 24 ++++++-
.../x/async/modeled/typed/TypedZPath10.java | 1 -
.../x/async/modeled/typed/TypedZPath2.java | 1 -
.../x/async/modeled/typed/TypedZPath3.java | 1 -
.../x/async/modeled/typed/TypedZPath4.java | 1 -
.../x/async/modeled/typed/TypedZPath5.java | 1 -
.../x/async/modeled/typed/TypedZPath6.java | 1 -
.../x/async/modeled/typed/TypedZPath7.java | 1 -
.../x/async/modeled/typed/TypedZPath8.java | 1 -
.../x/async/modeled/typed/TypedZPath9.java | 1 -
54 files changed, 907 insertions(+), 54 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/SubPubTest.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/SubPubTest.java b/curator-examples/src/main/java/pubsub/SubPubTest.java
index d36e573..90b7699 100644
--- a/curator-examples/src/main/java/pubsub/SubPubTest.java
+++ b/curator-examples/src/main/java/pubsub/SubPubTest.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub;
import org.apache.curator.framework.CuratorFrameworkFactory;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/builders/Clients.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/builders/Clients.java b/curator-examples/src/main/java/pubsub/builders/Clients.java
index b742e8c..c435906 100644
--- a/curator-examples/src/main/java/pubsub/builders/Clients.java
+++ b/curator-examples/src/main/java/pubsub/builders/Clients.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.builders;
import org.apache.curator.x.async.modeled.ModeledFramework;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/builders/ModelSpecs.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/builders/ModelSpecs.java b/curator-examples/src/main/java/pubsub/builders/ModelSpecs.java
index dcb7a29..c31b9ae 100644
--- a/curator-examples/src/main/java/pubsub/builders/ModelSpecs.java
+++ b/curator-examples/src/main/java/pubsub/builders/ModelSpecs.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.builders;
import org.apache.curator.x.async.modeled.JacksonModelSerializer;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/builders/Paths.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/builders/Paths.java b/curator-examples/src/main/java/pubsub/builders/Paths.java
index 74f45ce..84c7932 100644
--- a/curator-examples/src/main/java/pubsub/builders/Paths.java
+++ b/curator-examples/src/main/java/pubsub/builders/Paths.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.builders;
import org.apache.curator.x.async.modeled.typed.TypedZPath;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/messages/LocationAvailable.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/messages/LocationAvailable.java b/curator-examples/src/main/java/pubsub/messages/LocationAvailable.java
index fbfd64e..dd90107 100644
--- a/curator-examples/src/main/java/pubsub/messages/LocationAvailable.java
+++ b/curator-examples/src/main/java/pubsub/messages/LocationAvailable.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.messages;
import pubsub.models.Message;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/messages/UserCreated.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/messages/UserCreated.java b/curator-examples/src/main/java/pubsub/messages/UserCreated.java
index 10ed48e..bf753a8 100644
--- a/curator-examples/src/main/java/pubsub/messages/UserCreated.java
+++ b/curator-examples/src/main/java/pubsub/messages/UserCreated.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.messages;
import pubsub.models.Message;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/models/Group.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/models/Group.java b/curator-examples/src/main/java/pubsub/models/Group.java
index a9636a4..07d149f 100644
--- a/curator-examples/src/main/java/pubsub/models/Group.java
+++ b/curator-examples/src/main/java/pubsub/models/Group.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.models;
import org.apache.curator.x.async.modeled.NodeName;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/models/Instance.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/models/Instance.java b/curator-examples/src/main/java/pubsub/models/Instance.java
index 4fa62bd..981f113 100644
--- a/curator-examples/src/main/java/pubsub/models/Instance.java
+++ b/curator-examples/src/main/java/pubsub/models/Instance.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.models;
import org.apache.curator.x.async.modeled.NodeName;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/models/InstanceType.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/models/InstanceType.java b/curator-examples/src/main/java/pubsub/models/InstanceType.java
index f1daea0..176048c 100644
--- a/curator-examples/src/main/java/pubsub/models/InstanceType.java
+++ b/curator-examples/src/main/java/pubsub/models/InstanceType.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.models;
public enum InstanceType
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/models/Message.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/models/Message.java b/curator-examples/src/main/java/pubsub/models/Message.java
index 4151684..7d92e99 100644
--- a/curator-examples/src/main/java/pubsub/models/Message.java
+++ b/curator-examples/src/main/java/pubsub/models/Message.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.models;
import org.apache.curator.x.async.modeled.NodeName;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/models/Priority.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/models/Priority.java b/curator-examples/src/main/java/pubsub/models/Priority.java
index ea8051e..3b10f75 100644
--- a/curator-examples/src/main/java/pubsub/models/Priority.java
+++ b/curator-examples/src/main/java/pubsub/models/Priority.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.models;
public enum Priority
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/util/Publisher.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/util/Publisher.java b/curator-examples/src/main/java/pubsub/util/Publisher.java
index 99ef9a7..9993e28 100644
--- a/curator-examples/src/main/java/pubsub/util/Publisher.java
+++ b/curator-examples/src/main/java/pubsub/util/Publisher.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.util;
import org.apache.curator.framework.api.transaction.CuratorOp;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-examples/src/main/java/pubsub/util/Subscriber.java
----------------------------------------------------------------------
diff --git a/curator-examples/src/main/java/pubsub/util/Subscriber.java b/curator-examples/src/main/java/pubsub/util/Subscriber.java
index 3b0d542..06c2cdf 100644
--- a/curator-examples/src/main/java/pubsub/util/Subscriber.java
+++ b/curator-examples/src/main/java/pubsub/util/Subscriber.java
@@ -1,3 +1,21 @@
+/**
+ * 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 pubsub.util;
import org.apache.curator.x.async.AsyncCuratorFramework;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/JacksonModelSerializer.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/JacksonModelSerializer.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/JacksonModelSerializer.java
index 6d16c86..b4e5601 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/JacksonModelSerializer.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/JacksonModelSerializer.java
@@ -33,7 +33,7 @@ import java.util.Objects;
* Model serializer that uses Jackson for JSON serialization. <strong>IMPORTANT: </strong>
* the jackson dependency is specified as <code>provided</code> in the curator-x-async Maven POM
* file to avoid adding a new dependency to Curator. Therefore, if you wish to use the
- * JacksonModelSerializer you must manually add the dependency to your build syste
+ * JacksonModelSerializer you must manually add the dependency to your build system
*/
public class JacksonModelSerializer<T> implements ModelSerializer<T>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModelSpec.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModelSpec.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModelSpec.java
index 08b8be4..0567635 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModelSpec.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModelSpec.java
@@ -27,6 +27,18 @@ import org.apache.zookeeper.data.ACL;
import java.util.List;
import java.util.Set;
+/**
+ * A full specification for dealing with a portion of the ZooKeeper tree. ModelSpec's contain:
+ *
+ * <ul>
+ * <li>A node path</li>
+ * <li>Serializer for the data stored</li>
+ * <li>Options for how to create the node (mode, compression, etc.)</li>
+ * <li>Options for how to deleting the node (quietly, guaranteed, etc.)</li>
+ * <li>ACLs</li>
+ * <li>Optional schema generation</li>
+ * </ul>
+ */
public interface ModelSpec<T> extends Resolvable
{
Set<CreateOption> defaultCreateOptions = ImmutableSet.of(CreateOption.createParentsAsContainers, CreateOption.setDataIfExists);
@@ -64,9 +76,17 @@ public interface ModelSpec<T> extends Resolvable
}
/**
- * Return a new CuratorModel instance with all the same options but applying to the given child node of this CuratorModel's
- * path. E.g. if this CuratorModel instance applies to "/a/b", calling <code>modeled.at("c")</code> returns an instance that applies to
- * "/a/b/c".
+ * <p>
+ * Return a new CuratorModel instance with all the same options but applying to the given child node of this CuratorModel's
+ * path. E.g. if this CuratorModel instance applies to "/a/b", calling <code>modeled.at("c")</code> returns an instance that applies to
+ * "/a/b/c".
+ * </p>
+ *
+ * <p>
+ * The replacement is the <code>toString()</code> value of child or,
+ * if it implements {@link org.apache.curator.x.async.modeled.NodeName},
+ * the value of <code>nodeName()</code>.
+ * </p>
*
* @param child child node.
* @return new Modeled Spec instance
@@ -82,9 +102,17 @@ public interface ModelSpec<T> extends Resolvable
ModelSpec<T> withPath(ZPath path);
/**
- * Return a new CuratorModel instance with all the same options but using a resolved
- * path by calling {@link org.apache.curator.x.async.modeled.ZPath#resolved(Object...)}
- * using the given parameters
+ * <p>
+ * Return a new CuratorModel instance with all the same options but using a resolved
+ * path by calling {@link org.apache.curator.x.async.modeled.ZPath#resolved(Object...)}
+ * using the given parameters
+ * </p>
+ *
+ * <p>
+ * The replacement is the <code>toString()</code> value of the parameter object or,
+ * if the object implements {@link org.apache.curator.x.async.modeled.NodeName},
+ * the value of <code>nodeName()</code>.
+ * </p>
*
* @param parameters list of replacements. Must have be the same length as the number of
* parameter nodes in the path
@@ -94,9 +122,17 @@ public interface ModelSpec<T> extends Resolvable
ModelSpec<T> resolved(Object... parameters);
/**
- * Return a new CuratorModel instance with all the same options but using a resolved
- * path by calling {@link org.apache.curator.x.async.modeled.ZPath#resolved(java.util.List)}
- * using the given parameters
+ * <p>
+ * Return a new CuratorModel instance with all the same options but using a resolved
+ * path by calling {@link org.apache.curator.x.async.modeled.ZPath#resolved(java.util.List)}
+ * using the given parameters
+ * </p>
+ *
+ * <p>
+ * The replacement is the <code>toString()</code> value of the parameter object or,
+ * if the object implements {@link org.apache.curator.x.async.modeled.NodeName},
+ * the value of <code>nodeName()</code>.
+ * </p>
*
* @param parameters list of replacements. Must have be the same length as the number of
* parameter nodes in the path
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledFramework.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledFramework.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledFramework.java
index eeead3c..70671ea 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledFramework.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ModeledFramework.java
@@ -65,8 +65,8 @@ public interface ModeledFramework<T>
}
/**
- * Use an internally created cache as a front for this modeled instance. All read APIs check the cache
- * first and, if available, return the values from the cache. Note: you must call
+ * Use an internally created cache as a front for this modeled instance. All read APIs use the internal
+ * cache. i.e. read calls always use the cache instead of making direct queries. Note: you must call
* {@link org.apache.curator.x.async.modeled.cached.CachedModeledFramework#start()} and
* {@link org.apache.curator.x.async.modeled.cached.CachedModeledFramework#close()} to start/stop
*
@@ -90,9 +90,17 @@ public interface ModeledFramework<T>
ModelSpec<T> modelSpec();
/**
- * Return a new Modeled Curator instance with all the same options but applying to the given child node of this Modeled Curator's
- * path. E.g. if this Modeled Curator instance applies to "/a/b", calling <code>modeled.at("c")</code> returns an instance that applies to
- * "/a/b/c".
+ * <p>
+ * Return a new Modeled Curator instance with all the same options but applying to the given child node of this Modeled Curator's
+ * path. E.g. if this Modeled Curator instance applies to "/a/b", calling <code>modeled.at("c")</code> returns an instance that applies to
+ * "/a/b/c".
+ * </p>
+ *
+ * <p>
+ * The replacement is the <code>toString()</code> value of child or,
+ * if it implements {@link org.apache.curator.x.async.modeled.NodeName},
+ * the value of <code>nodeName()</code>.
+ * </p>
*
* @param child child node.
* @return new Modeled Curator instance
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/NodeName.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/NodeName.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/NodeName.java
index 482e268..6bc3be3 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/NodeName.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/NodeName.java
@@ -1,3 +1,21 @@
+/**
+ * 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.modeled;
/**
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/Resolvable.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/Resolvable.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/Resolvable.java
index a54c017..7b86fed 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/Resolvable.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/Resolvable.java
@@ -1,3 +1,21 @@
+/**
+ * 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.modeled;
import java.util.Arrays;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ZPath.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ZPath.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ZPath.java
index 7f5bf84..27811f1 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ZPath.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/ZPath.java
@@ -53,7 +53,7 @@ public interface ZPath extends Resolvable
}
/**
- * Take a ZNode string path and return a ZPath
+ * Take a string path and return a ZPath
*
* @param fullPath the path to parse
* @return ZPath
@@ -65,10 +65,10 @@ public interface ZPath extends Resolvable
}
/**
- * Take a ZNode string path and return a ZPath. Each part of the path
+ * Take a string path and return a ZPath. Each part of the path
* that is <code>{id}</code> is replaced with {@link #parameterNodeName}.
* E.g. <code>parseWithIds("/one/two/{id}/three/{id}")</code> is the equivalent
- * of calling <code>ZPath.from("one", "two", parameterNodeName(), "three", parameterNodeName())</code>
+ * of calling <code>ZPath.from("one", "two", parameterNodeName, "three", parameterNodeName)</code>
*
* @param fullPath the path to parse
* @return ZPath
@@ -94,7 +94,9 @@ public interface ZPath extends Resolvable
/**
* Convert individual path names into a ZPath. E.g.
- * <code>ZPath.from("my", "full", "path")</code>
+ * <code>ZPath.from("my", "full", "path")</code>. Any/all of the names can be passed as
+ * {@link #parameterNodeName} so that the path can be resolved later using
+ * of the <code>resolved()</code> methods.
*
* @param names path names
* @return ZPath
@@ -106,7 +108,9 @@ public interface ZPath extends Resolvable
}
/**
- * Convert individual path names into a ZPath
+ * Convert individual path names into a ZPath. Any/all of the names can be passed as
+ * {@link #parameterNodeName} so that the path can be resolved later using
+ * of the <code>resolved()</code> methods.
*
* @param names path names
* @return ZPath
@@ -120,7 +124,9 @@ public interface ZPath extends Resolvable
/**
* Convert individual path names into a ZPath starting at the given base. E.g.
* if base is "/home/base" <code>ZPath.from(base, "my", "full", "path")</code>
- * would be "/home/base/my/full/path"
+ * would be "/home/base/my/full/path". Any/all of the names can be passed as
+ * {@link #parameterNodeName} so that the path can be resolved later using
+ * of the <code>resolved()</code> methods.
*
* @param base base/starting path
* @param names path names
@@ -133,7 +139,9 @@ public interface ZPath extends Resolvable
}
/**
- * Convert individual path names into a ZPath starting at the given base
+ * Convert individual path names into a ZPath starting at the given base. Any/all of the names can be passed as
+ * {@link #parameterNodeName} so that the path can be resolved later using
+ * of the <code>resolved()</code> methods.
*
* @param base base/starting path
* @param names path names
@@ -146,8 +154,16 @@ public interface ZPath extends Resolvable
}
/**
- * When creating paths, any node in the path can be set to {@link #parameterNodeName}.
- * At runtime, the ZPath can be "resolved" by replacing these nodes with values.
+ * <p>
+ * When creating paths, any node in the path can be set to {@link #parameterNodeName}.
+ * At runtime, the ZPath can be "resolved" by replacing these nodes with values.
+ * </p>
+ *
+ * <p>
+ * The replacement is the <code>toString()</code> value of the parameter object or,
+ * if the object implements {@link org.apache.curator.x.async.modeled.NodeName},
+ * the value of <code>nodeName()</code>.
+ * </p>
*
* @param parameters list of replacements. Must have be the same length as the number of
* parameter nodes in the path
@@ -160,8 +176,16 @@ public interface ZPath extends Resolvable
}
/**
- * When creating paths, any node in the path can be set to {@link #parameterNodeName}.
- * At runtime, the ZPath can be "resolved" by replacing these nodes with values.
+ * <p>
+ * When creating paths, any node in the path can be set to {@link #parameterNodeName}.
+ * At runtime, the ZPath can be "resolved" by replacing these nodes with values.
+ * </p>
+ *
+ * <p>
+ * The replacement is the <code>toString()</code> value of the parameter object or,
+ * if the object implements {@link org.apache.curator.x.async.modeled.NodeName},
+ * the value of <code>nodeName()</code>.
+ * </p>
*
* @param parameters list of replacements. Must have be the same length as the number of
* parameter nodes in the path
@@ -171,10 +195,18 @@ public interface ZPath extends Resolvable
ZPath resolved(List<Object> parameters);
/**
- * An "auto" resolving version of this ZPath. i.e. if any of the path names is
- * the {@link #parameterNodeName} the ZPath must be resolved. This method
- * creates a new ZPath that auto resolves by using the given parameter suppliers
- * whenever needed.
+ * <p>
+ * An "auto" resolving version of this ZPath. i.e. if any of the path names is
+ * the {@link #parameterNodeName} the ZPath must be resolved. This method
+ * creates a new ZPath that auto resolves by using the given parameter suppliers
+ * whenever needed.
+ * </p>
+ *
+ * <p>
+ * The replacement is the <code>toString()</code> value of the parameter object or,
+ * if the object implements {@link org.apache.curator.x.async.modeled.NodeName},
+ * the value of <code>nodeName()</code>.
+ * </p>
*
* @param parameterSuppliers parameter suppliers
* @return new auto resolving ZNode
@@ -184,8 +216,16 @@ public interface ZPath extends Resolvable
ZPath resolving(List<Supplier<Object>> parameterSuppliers);
/**
- * Return a ZPath that represents a child ZNode of this ZPath. e.g.
- * <code>ZPath.from("a", "b").at("c")</code> represents the path "/a/b/c"
+ * <p>
+ * Return a ZPath that represents a child ZNode of this ZPath. e.g.
+ * <code>ZPath.from("a", "b").at("c")</code> represents the path "/a/b/c"
+ * </p>
+ *
+ * <p>
+ * The replacement is the <code>toString()</code> value of child or,
+ * if it implements {@link org.apache.curator.x.async.modeled.NodeName},
+ * the value of <code>nodeName()</code>.
+ * </p>
*
* @param child child node name
* @return ZPath
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/cached/CachedModeledFramework.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/cached/CachedModeledFramework.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/cached/CachedModeledFramework.java
index 09ddafe..48e0a10 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/cached/CachedModeledFramework.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/cached/CachedModeledFramework.java
@@ -32,12 +32,12 @@ public interface CachedModeledFramework<T> extends ModeledFramework<T>, Closeabl
ModeledCache<T> getCache();
/**
- * Start the internally created via {@link #cached()}
+ * Start the internally created cache
*/
void start();
/**
- * Close the internally created via {@link #cached()}
+ * Close/stop the internally created cache
*/
@Override
void close();
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/cached/ModeledCache.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/cached/ModeledCache.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/cached/ModeledCache.java
index 05886a9..75e4ad9 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/cached/ModeledCache.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/cached/ModeledCache.java
@@ -31,7 +31,7 @@ public interface ModeledCache<T>
* {@link java.util.Optional#empty()} is returned.
*
* @param path path to the node to check
- * @return data if the node is alive, or null
+ * @return data if the node is alive, or empty
*/
Optional<ZNode<T>> currentData(ZPath path);
@@ -40,7 +40,7 @@ public interface ModeledCache<T>
* guarantees of accuracy; this is merely the most recent view of the data.
*
* @param path path to the node to check
- * @return a possibly-empty list of children if the node is alive, or null
+ * @return a possibly-empty map of children if the node is alive
*/
Map<ZPath, ZNode<T>> currentChildren(ZPath path);
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java
index fb8985f..754fb3b 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ModeledFrameworkImpl.java
@@ -18,6 +18,7 @@
*/
package org.apache.curator.x.async.modeled.details;
+import com.google.common.base.Preconditions;
import org.apache.curator.framework.api.CuratorEvent;
import org.apache.curator.framework.api.UnhandledErrorListener;
import org.apache.curator.framework.api.transaction.CuratorOp;
@@ -54,10 +55,11 @@ public class ModeledFrameworkImpl<T> implements ModeledFramework<T>
private final UnhandledErrorListener unhandledErrorListener;
private final UnaryOperator<CuratorEvent> resultFilter;
private final AsyncCuratorFrameworkDsl dslClient;
+ private final boolean isWatched;
public static <T> ModeledFrameworkImpl<T> build(AsyncCuratorFramework client, ModelSpec<T> model, WatchMode watchMode, UnaryOperator<WatchedEvent> watcherFilter, UnhandledErrorListener unhandledErrorListener, UnaryOperator<CuratorEvent> resultFilter)
{
- boolean localIsWatched = (watchMode != null);
+ boolean isWatched = (watchMode != null);
Objects.requireNonNull(client, "client cannot be null");
Objects.requireNonNull(model, "model cannot be null");
@@ -65,7 +67,7 @@ public class ModeledFrameworkImpl<T> implements ModeledFramework<T>
watchMode = (watchMode != null) ? watchMode : WatchMode.stateChangeAndSuccess;
AsyncCuratorFrameworkDsl dslClient = client.with(watchMode, unhandledErrorListener, resultFilter, watcherFilter);
- WatchableAsyncCuratorFramework watchableClient = localIsWatched ? dslClient.watched() : dslClient;
+ WatchableAsyncCuratorFramework watchableClient = isWatched ? dslClient.watched() : dslClient;
return new ModeledFrameworkImpl<>(
client,
@@ -75,11 +77,12 @@ public class ModeledFrameworkImpl<T> implements ModeledFramework<T>
watchMode,
watcherFilter,
unhandledErrorListener,
- resultFilter
+ resultFilter,
+ isWatched
);
}
- private ModeledFrameworkImpl(AsyncCuratorFramework client, AsyncCuratorFrameworkDsl dslClient, WatchableAsyncCuratorFramework watchableClient, ModelSpec<T> modelSpec, WatchMode watchMode, UnaryOperator<WatchedEvent> watcherFilter, UnhandledErrorListener unhandledErrorListener, UnaryOperator<CuratorEvent> resultFilter)
+ private ModeledFrameworkImpl(AsyncCuratorFramework client, AsyncCuratorFrameworkDsl dslClient, WatchableAsyncCuratorFramework watchableClient, ModelSpec<T> modelSpec, WatchMode watchMode, UnaryOperator<WatchedEvent> watcherFilter, UnhandledErrorListener unhandledErrorListener, UnaryOperator<CuratorEvent> resultFilter, boolean isWatched)
{
this.client = client;
this.dslClient = dslClient;
@@ -89,11 +92,13 @@ public class ModeledFrameworkImpl<T> implements ModeledFramework<T>
this.watcherFilter = watcherFilter;
this.unhandledErrorListener = unhandledErrorListener;
this.resultFilter = resultFilter;
+ this.isWatched = isWatched;
}
@Override
public CachedModeledFramework<T> cached()
{
+ Preconditions.checkState(!isWatched, "CachedModeledFramework cannot be used with watched instances as the internal cache would bypass the watchers.");
return new CachedModeledFrameworkImpl<>(this);
}
@@ -229,7 +234,8 @@ public class ModeledFrameworkImpl<T> implements ModeledFramework<T>
watchMode,
watcherFilter,
unhandledErrorListener,
- resultFilter
+ resultFilter,
+ isWatched
);
}
@@ -245,7 +251,8 @@ public class ModeledFrameworkImpl<T> implements ModeledFramework<T>
watchMode,
watcherFilter,
unhandledErrorListener,
- resultFilter
+ resultFilter,
+ isWatched
);
}
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ZNodeImpl.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ZNodeImpl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ZNodeImpl.java
index 1390c8d..20dcaac 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ZNodeImpl.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ZNodeImpl.java
@@ -1,3 +1,21 @@
+/**
+ * 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.modeled.details;
import org.apache.curator.x.async.modeled.cached.ZNode;
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ZPathImpl.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ZPathImpl.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ZPathImpl.java
index 3365b49..40d23a3 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ZPathImpl.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/details/ZPathImpl.java
@@ -270,7 +270,7 @@ public class ZPathImpl implements ZPath
{
throw new IllegalStateException(String.format("Parameter supplier missing at index [%d] for [%s]", parameterIndex, nodes.toString()));
}
- value = parameterSuppliers.get(parameterIndex++).get().toString();
+ value = NodeName.nameFrom(parameterSuppliers.get(parameterIndex++).get());
}
str.append(value);
}
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec.java
index 6a61f64..c19236e 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec.java
@@ -1,8 +1,49 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.modeled.ModelSpec;
import org.apache.curator.x.async.modeled.ModelSpecBuilder;
+/**
+ * <p>
+ * Abstraction that allows the construction of ModelSpecs using strongly typed parameter replacements.
+ * For example, given a ModelSpec with a path such as "/root/registry/people/{id}" where "id" should
+ * be <code>PersonId</code>.
+ * </p>
+ *
+ * <p>
+ * <pre><code>
+ * // Step 1. Create a typed ZPath
+ * TypedZPath<PersonId> typedPath = TypedZPath.from("/root/registry/people/{id}");
+ *
+ * // Step 2. Create a ModelSpec builder (do not build at this point)
+ * ModelSpecBuilder<Person> builder = ModelSpec.builder(JacksonModelSerializer.build(Person.class))
+ *
+ * // Step 3. Create a typed ModelSpec using the typed ZPath and ModelSpec builder
+ * TypedModelSpec<Person, PersonId> typedModelSpec = TypedModelSpec.from(builder, path);
+ *
+ * // later on the TypedModelSpec can be resolved into a useable ModelSpec
+ * ModelSpec<Person> modelSpec = typedModelSpec.resolve(personId);
+ * </pre></code>
+ * </p>
+ */
@FunctionalInterface
public interface TypedModelSpec<M, P1>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec10.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec10.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec10.java
index e6e8be3..99fa90d 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec10.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec10.java
@@ -1,8 +1,29 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.modeled.ModelSpec;
import org.apache.curator.x.async.modeled.ModelSpecBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModelSpec}, but with 10 parameters
+ */
@FunctionalInterface
public interface TypedModelSpec10<M, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec2.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec2.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec2.java
index b8d36ea..6ae935b 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec2.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec2.java
@@ -1,8 +1,29 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.modeled.ModelSpec;
import org.apache.curator.x.async.modeled.ModelSpecBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModelSpec}, but with 2 parameters
+ */
@FunctionalInterface
public interface TypedModelSpec2<M, P1, P2>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec3.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec3.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec3.java
index 1ee78ff..5e95b8d 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec3.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec3.java
@@ -1,8 +1,29 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.modeled.ModelSpec;
import org.apache.curator.x.async.modeled.ModelSpecBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModelSpec}, but with 3 parameters
+ */
@FunctionalInterface
public interface TypedModelSpec3<M, P1, P2, P3>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec4.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec4.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec4.java
index f15cf8b..8e0f798 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec4.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec4.java
@@ -1,8 +1,29 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.modeled.ModelSpec;
import org.apache.curator.x.async.modeled.ModelSpecBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModelSpec}, but with 4 parameters
+ */
@FunctionalInterface
public interface TypedModelSpec4<M, P1, P2, P3, P4>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec5.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec5.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec5.java
index 09fe323..6f750bd 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec5.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec5.java
@@ -1,8 +1,29 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.modeled.ModelSpec;
import org.apache.curator.x.async.modeled.ModelSpecBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModelSpec}, but with 5 parameters
+ */
@FunctionalInterface
public interface TypedModelSpec5<M, P1, P2, P3, P4, P5>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec6.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec6.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec6.java
index 58c0607..280fa3d 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec6.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec6.java
@@ -1,8 +1,29 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.modeled.ModelSpec;
import org.apache.curator.x.async.modeled.ModelSpecBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModelSpec}, but with 6 parameters
+ */
@FunctionalInterface
public interface TypedModelSpec6<M, P1, P2, P3, P4, P5, P6>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec7.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec7.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec7.java
index 2232a88..09a5cea 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec7.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec7.java
@@ -1,8 +1,29 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.modeled.ModelSpec;
import org.apache.curator.x.async.modeled.ModelSpecBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModelSpec}, but with 7 parameters
+ */
@FunctionalInterface
public interface TypedModelSpec7<M, P1, P2, P3, P4, P5, P6, P7>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec8.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec8.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec8.java
index b99de07..a65862a 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec8.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec8.java
@@ -1,8 +1,29 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.modeled.ModelSpec;
import org.apache.curator.x.async.modeled.ModelSpecBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModelSpec}, but with 8 parameters
+ */
@FunctionalInterface
public interface TypedModelSpec8<M, P1, P2, P3, P4, P5, P6, P7, P8>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec9.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec9.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec9.java
index 358e31b..8e9e80c 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec9.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModelSpec9.java
@@ -1,8 +1,29 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.modeled.ModelSpec;
import org.apache.curator.x.async.modeled.ModelSpecBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModelSpec}, but with 9 parameters
+ */
@FunctionalInterface
public interface TypedModelSpec9<M, P1, P2, P3, P4, P5, P6, P7, P8, P9>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework.java
index 0e67443..d72514d 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework.java
@@ -1,9 +1,53 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.AsyncCuratorFramework;
import org.apache.curator.x.async.modeled.ModeledFramework;
import org.apache.curator.x.async.modeled.ModeledFrameworkBuilder;
+/**
+ * <p>
+ * Abstraction that allows the construction of ModeledFrameworks using strongly typed parameter replacements.
+ * For example, given a ModeledFramework with a ModelSpec that has a path such as
+ * "/root/registry/people/{id}" where "id" should be <code>PersonId</code>.
+ * </p>
+ *
+ * <p>
+ * <pre><code>
+ * // Step 1. Create a typed ZPath
+ * TypedZPath<PersonId> typedPath = TypedZPath.from("/root/registry/people/{id}");
+ *
+ * // Step 2. Create a typed ModelSpec (see TypedModelSpec for details)
+ * TypedModelSpec<Person, PersonId> typedModelSpec = TypedModelSpec.from(builder, path);
+ *
+ * // Step 3. Create a ModeledFramework builder (do not build at this point)
+ * ModeledFrameworkBuilder<Person> builder = ModeledFramework.builder()... // add any other needed options
+ *
+ * // Step 4. Create a typed TypedModeledFramework using the typed ZPath, typed ModelSpec, and ModeledFramework builder
+ * TypedModeledFramework<Person, PersonId> clientSpec = TypedModeledFramework.from(builder, modelSpec);
+ *
+ * // later on the TypedModelSpec can be resolved into a useable ModeledFramework
+ * ModeledFramework<Person> client = clientSpec.resolve(personId);
+ * </pre></code>
+ * </p>
+ */
@FunctionalInterface
public interface TypedModeledFramework<M, P1>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework10.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework10.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework10.java
index 0b9b2a1..c5631d9 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework10.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework10.java
@@ -1,9 +1,30 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.AsyncCuratorFramework;
import org.apache.curator.x.async.modeled.ModeledFramework;
import org.apache.curator.x.async.modeled.ModeledFrameworkBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModeledFramework}, but with 10 parameters
+ */
@FunctionalInterface
public interface TypedModeledFramework10<M, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework2.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework2.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework2.java
index b387436..e5b912e 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework2.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework2.java
@@ -1,9 +1,30 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.AsyncCuratorFramework;
import org.apache.curator.x.async.modeled.ModeledFramework;
import org.apache.curator.x.async.modeled.ModeledFrameworkBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModeledFramework}, but with 2 parameters
+ */
@FunctionalInterface
public interface TypedModeledFramework2<M, P1, P2>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework3.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework3.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework3.java
index 5bb3a1f..7e7d2d6 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework3.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework3.java
@@ -1,9 +1,30 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.AsyncCuratorFramework;
import org.apache.curator.x.async.modeled.ModeledFramework;
import org.apache.curator.x.async.modeled.ModeledFrameworkBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModeledFramework}, but with 3 parameters
+ */
@FunctionalInterface
public interface TypedModeledFramework3<M, P1, P2, P3>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework4.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework4.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework4.java
index 9887022..9123f51 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework4.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework4.java
@@ -1,9 +1,30 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.AsyncCuratorFramework;
import org.apache.curator.x.async.modeled.ModeledFramework;
import org.apache.curator.x.async.modeled.ModeledFrameworkBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModeledFramework}, but with 4 parameters
+ */
@FunctionalInterface
public interface TypedModeledFramework4<M, P1, P2, P3, P4>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework5.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework5.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework5.java
index bea0fb5..783f708 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework5.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework5.java
@@ -1,9 +1,30 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.AsyncCuratorFramework;
import org.apache.curator.x.async.modeled.ModeledFramework;
import org.apache.curator.x.async.modeled.ModeledFrameworkBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModeledFramework}, but with 5 parameters
+ */
@FunctionalInterface
public interface TypedModeledFramework5<M, P1, P2, P3, P4, P5>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework6.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework6.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework6.java
index eb91734..852c47f 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework6.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework6.java
@@ -1,9 +1,30 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.AsyncCuratorFramework;
import org.apache.curator.x.async.modeled.ModeledFramework;
import org.apache.curator.x.async.modeled.ModeledFrameworkBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModeledFramework}, but with 6 parameters
+ */
@FunctionalInterface
public interface TypedModeledFramework6<M, P1, P2, P3, P4, P5, P6>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework7.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework7.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework7.java
index 4643862..3da234e 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework7.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework7.java
@@ -1,9 +1,30 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.AsyncCuratorFramework;
import org.apache.curator.x.async.modeled.ModeledFramework;
import org.apache.curator.x.async.modeled.ModeledFrameworkBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModeledFramework}, but with 7 parameters
+ */
@FunctionalInterface
public interface TypedModeledFramework7<M, P1, P2, P3, P4, P5, P6, P7>
{
http://git-wip-us.apache.org/repos/asf/curator/blob/aa86931b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework8.java
----------------------------------------------------------------------
diff --git a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework8.java b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework8.java
index c4f2426..a0c78bd 100644
--- a/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework8.java
+++ b/curator-x-async/src/main/java/org/apache/curator/x/async/modeled/typed/TypedModeledFramework8.java
@@ -1,9 +1,30 @@
+/**
+ * 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.modeled.typed;
import org.apache.curator.x.async.AsyncCuratorFramework;
import org.apache.curator.x.async.modeled.ModeledFramework;
import org.apache.curator.x.async.modeled.ModeledFrameworkBuilder;
+/**
+ * Same as {@link org.apache.curator.x.async.modeled.typed.TypedModeledFramework}, but with 8 parameters
+ */
@FunctionalInterface
public interface TypedModeledFramework8<M, P1, P2, P3, P4, P5, P6, P7, P8>
{