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 <[email protected]> Authored: Wed May 3 17:02:31 2017 -0500 Committer: randgalt <[email protected]> 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> {
