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.
@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);
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static <M,P1>
TypedModeledFramework<M,P1>from(ModeledFrameworkBuilder<M> frameworkBuilder, ModelSpecBuilder<M> modelSpecBuilder, java.lang.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
-
-
-
Method Detail
-
resolved
ModeledFramework<M> resolved(AsyncCuratorFramework client, P1 p1)
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, java.lang.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
-
-