Interface ModeledFramework<T>
- All Known Subinterfaces:
CachedModeledFramework<T>
- All Known Implementing Classes:
ModeledFrameworkImpl
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> ModeledFrameworkBuilder
<T> builder()
Start a new ModeledFrameworkBuilder.static <T> ModeledFrameworkBuilder
<T> builder
(AsyncCuratorFramework client, ModelSpec<T> model) Start a new ModeledFrameworkBuilder for the given modelcached()
Use an internally created cache as a front for this modeled instance.cached
(ExecutorService executor) Same ascached()
but allows for providing an executor serviceAsyncStage
<org.apache.zookeeper.data.Stat> Check to see if the ZNode at this instance's path existsCheck exists operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.checkExistsOp
(int version) Check exists operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.Return a new Modeled Curator instance with all the same options but applying to the given child node of this Modeled Curator's path.children()
Return the child paths of this instance's path (in no particular order)AsyncStage
<List<ZNode<T>>> Return the child paths of this instance's path (in no particular order) and deserialize into a models.Create operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.delete()
Delete the ZNode at this instance's path passing -1 for the delete versiondelete
(int version) Delete the ZNode at this instance's path passing the given delete versiondeleteOp()
Delete operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.deleteOp
(int version) Delete operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.inTransaction
(List<CuratorOp> operations) Invoke ZooKeeper to commit the given operations as a single transaction.Return the model being usedparent()
Return a new Modeled Curator instance with all the same options but applying to the parent node of this Modeled Curator's path.read()
Read the ZNode at this instance's path and deserialize into a modelread
(org.apache.zookeeper.data.Stat storingStatIn) Read the ZNode at this instance's path and deserialize into a modelAsyncStage
<ZNode<T>> Read the ZNode at this instance's path and deserialize into a modelCreate (or update depending on build options) a ZNode at this instance's path with a serialized version of the given modelCreate (or update depending on build options) a ZNode at this instance's path with a serialized version of the given modelCreate (or update depending on build options) a ZNode at this instance's path with a serialized form of the given modelCreate (or update depending on build options) a ZNode at this instance's path with a serialized form of the given modelunwrap()
Returns the client that was originally passed towrap(org.apache.curator.x.async.AsyncCuratorFramework, ModelSpec)
or the builder.AsyncStage
<org.apache.zookeeper.data.Stat> Update the ZNode at this instance's path with a serialized form of the given model passing "-1" for the update versionAsyncStage
<org.apache.zookeeper.data.Stat> Update the ZNode at this instance's path with a serialized form of the given model passing the given update versionUpdate operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.Create operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.Return mutator APIs that work withVersioned
containersReturn a Modeled Curator instance with all the same options but using the given path.static <T> ModeledFramework
<T> wrap
(AsyncCuratorFramework client, ModelSpec<T> model) Return a new ModeledFramework for the given model
-
Method Details
-
wrap
Return a new ModeledFramework for the given model- Parameters:
client
- Curator clientmodel
- the model- Returns:
- new Modeled Curator instance
-
builder
Start a new ModeledFrameworkBuilder for the given model- Parameters:
client
- Curator clientmodel
- the model- Returns:
- builder
-
builder
Start a new ModeledFrameworkBuilder. A client and model must be provided prior to the instance being built viaModeledFrameworkBuilder.withClient(org.apache.curator.x.async.AsyncCuratorFramework)
andModeledFrameworkBuilder.withModelSpec(ModelSpec)
- Returns:
- builder
-
cached
CachedModeledFramework<T> cached()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
CachedModeledFramework.start()
andCachedModeledFramework.close()
to start/stopNote: the root node (the main path of the model) is not cached. i.e. only nodes below the root are cached.
Note: this method internally allocates an Executor for the cache and read methods. Use
cached(java.util.concurrent.ExecutorService)
if you'd like to provide your own executor service.- Returns:
- wrapped instance
-
cached
Same ascached()
but allows for providing an executor service- Parameters:
executor
- thread pool to use for the cache and for read operations- Returns:
- wrapped instance
-
versioned
VersionedModeledFramework<T> versioned()Return mutator APIs that work withVersioned
containers- Returns:
- wrapped instance
-
unwrap
AsyncCuratorFramework unwrap()Returns the client that was originally passed towrap(org.apache.curator.x.async.AsyncCuratorFramework, ModelSpec)
or the builder.- Returns:
- original client
-
modelSpec
Return the model being used- Returns:
- model
-
child
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
modeled.at("c")
returns an instance that applies to "/a/b/c".The replacement is the
toString()
value of child or, if it implementsNodeName
, the value ofnodeName()
.- Parameters:
child
- child node.- Returns:
- new Modeled Curator instance
-
parent
ModeledFramework<T> parent()Return a new Modeled Curator instance with all the same options but applying to the parent node of this Modeled Curator's path. E.g. if this Modeled Curator instance applies to "/a/b/c", calling
modeled.parent()
returns an instance that applies to "/a/b".The replacement is the
toString()
value of child or, if it implementsNodeName
, the value ofnodeName()
.- Returns:
- new Modeled Curator instance
-
withPath
Return a Modeled Curator instance with all the same options but using the given path.- Parameters:
path
- new path- Returns:
- new Modeled Curator instance
-
set
Create (or update depending on build options) a ZNode at this instance's path with a serialized version of the given model- Parameters:
model
- model to write- Returns:
- AsyncStage
- See Also:
-
set
Create (or update depending on build options) a ZNode at this instance's path with a serialized version of the given model- Parameters:
model
- model to writeversion
- if data is being set instead of creating the node, the data version to use- Returns:
- AsyncStage
- See Also:
-
set
Create (or update depending on build options) a ZNode at this instance's path with a serialized form of the given model- Parameters:
model
- model to writestoringStatIn
- the stat for the new ZNode is stored here- Returns:
- AsyncStage
- See Also:
-
set
Create (or update depending on build options) a ZNode at this instance's path with a serialized form of the given model- Parameters:
model
- model to writestoringStatIn
- the stat for the new ZNode is stored hereversion
- if data is being set instead of creating the node, the data version to use- Returns:
- AsyncStage
- See Also:
-
read
AsyncStage<T> read()Read the ZNode at this instance's path and deserialize into a model- Returns:
- AsyncStage
- See Also:
-
read
Read the ZNode at this instance's path and deserialize into a model- Parameters:
storingStatIn
- the stat for the new ZNode is stored here- Returns:
- AsyncStage
- See Also:
-
readAsZNode
AsyncStage<ZNode<T>> readAsZNode()Read the ZNode at this instance's path and deserialize into a model- Returns:
- AsyncStage
- See Also:
-
update
Update the ZNode at this instance's path with a serialized form of the given model passing "-1" for the update version- Parameters:
model
- model to write- Returns:
- AsyncStage
- See Also:
-
update
Update the ZNode at this instance's path with a serialized form of the given model passing the given update version- Parameters:
model
- model to writeversion
- update version to use- Returns:
- AsyncStage
- See Also:
-
delete
AsyncStage<Void> delete()Delete the ZNode at this instance's path passing -1 for the delete version- Returns:
- AsyncStage
- See Also:
-
delete
Delete the ZNode at this instance's path passing the given delete version- Parameters:
version
- update version to use- Returns:
- AsyncStage
- See Also:
-
checkExists
AsyncStage<org.apache.zookeeper.data.Stat> checkExists()Check to see if the ZNode at this instance's path exists- Returns:
- AsyncStage
- See Also:
-
children
AsyncStage<List<ZPath>> children()Return the child paths of this instance's path (in no particular order)- Returns:
- AsyncStage
- See Also:
-
childrenAsZNodes
AsyncStage<List<ZNode<T>>> childrenAsZNodes()Return the child paths of this instance's path (in no particular order) and deserialize into a models. IMPORTANT: this results in a ZooKeeper query for each child node returned. i.e. if the initial children() call returns 10 nodes an additional 10 ZooKeeper queries are made to get the data. Note: cannot be used if any of theModeledFrameworkBuilder.watched()
modes are used.- Returns:
- AsyncStage
- See Also:
-
createOp
Create operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction. Note: due to ZooKeeper transaction limits, this is a _not_ a "set or update" operation but only a create operation and will generate an error if the node already exists.- Parameters:
model
- the model- Returns:
- operation
-
updateOp
Update operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.- Parameters:
model
- the model- Returns:
- operation
-
updateOp
Create operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.- Parameters:
model
- the modelversion
- update version to use- Returns:
- operation
-
deleteOp
CuratorOp deleteOp()Delete operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.- Returns:
- operation
-
deleteOp
Delete operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.- Parameters:
version
- delete version to use- Returns:
- operation
-
checkExistsOp
CuratorOp checkExistsOp()Check exists operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.- Returns:
- operation
-
checkExistsOp
Check exists operation instance that can be passed among other operations toinTransaction(java.util.List)
to be executed as a single transaction.- Parameters:
version
- version to use- Returns:
- operation
-
inTransaction
Invoke ZooKeeper to commit the given operations as a single transaction.- Parameters:
operations
- operations that make up the transaction.- Returns:
- AsyncStage instance for managing the completion
-