@FunctionalInterface public interface TypedModeledFramework<M,P1>
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 PersonId
.
// 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);
Modifier and Type | Method and Description |
---|---|
static <M,P1> TypedModeledFramework<M,P1> |
from(ModeledFrameworkBuilder<M> frameworkBuilder,
ModelSpecBuilder<M> modelSpecBuilder,
String pathWithIds)
Return a new TypedModeledFramework using the given modeled framework builder, model spec builder and a path with ids.
|
static <M,P1> TypedModeledFramework<M,P1> |
from(ModeledFrameworkBuilder<M> frameworkBuilder,
TypedModelSpec<M,P1> modelSpec)
Return a new TypedModeledFramework using the given modeled framework builder and typed model spec.
|
ModeledFramework<M> |
resolved(AsyncCuratorFramework client,
P1 p1)
Resolve into a ModeledFramework using the given parameter
|
ModeledFramework<M> resolved(AsyncCuratorFramework client, P1 p1)
client
- the curator instance to usep1
- the parameterstatic <M,P1> TypedModeledFramework<M,P1> from(ModeledFrameworkBuilder<M> frameworkBuilder, TypedModelSpec<M,P1> modelSpec)
resolved(AsyncCuratorFramework, Object)
is called the actual ModeledFramework is generated with the
resolved model specframeworkBuilder
- ModeledFrameworkBuildermodelSpec
- TypedModelSpecstatic <M,P1> TypedModeledFramework<M,P1> from(ModeledFrameworkBuilder<M> frameworkBuilder, ModelSpecBuilder<M> modelSpecBuilder, String pathWithIds)
resolved(AsyncCuratorFramework, Object)
is called the actual ModeledFramework is generated with the
resolved model spec and resolved pathframeworkBuilder
- ModeledFrameworkBuildermodelSpecBuilder
- model spec builderpathWithIds
- path with {XXXX} parametersCopyright © 2011–2023 The Apache Software Foundation. All rights reserved.