Interface TypedModeledFramework<M,P1>
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
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);
-
Method Summary
Modifier and TypeMethodDescriptionstatic <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.resolved
(AsyncCuratorFramework client, P1 p1) Resolve into a ModeledFramework using the given parameter
-
Method Details
-
resolved
Resolve into a ModeledFramework using the given parameter- Parameters:
client
- the curator instance to usep1
- the parameter- Returns:
- ZPath
-
from
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. Whenresolved(AsyncCuratorFramework, Object)
is called the actual ModeledFramework is generated with the resolved model spec- Parameters:
frameworkBuilder
- ModeledFrameworkBuildermodelSpec
- TypedModelSpec- Returns:
- new TypedModeledFramework
-
from
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. Whenresolved(AsyncCuratorFramework, Object)
is called the actual ModeledFramework is generated with the resolved model spec and resolved path- Parameters:
frameworkBuilder
- ModeledFrameworkBuildermodelSpecBuilder
- model spec builderpathWithIds
- path with {XXXX} parameters- Returns:
- new TypedModeledFramework
-