-
public final class Publication.ServicesBuilderBuilds a list of Publication.Service from a collection of service factories.
Provides helpers to manipulate the list of services of a Publication.
-
-
Constructor Summary
Constructors Constructor Description Publication.ServicesBuilder(Function1<Publication.Service.Context, Publication.Service> cache, Function1<Publication.Service.Context, Publication.Service> content, Function1<Publication.Service.Context, Publication.Service> contentProtection, Function1<Publication.Service.Context, Publication.Service> cover, Function1<Publication.Service.Context, Publication.Service> locator, Function1<Publication.Service.Context, Publication.Service> positions, Function1<Publication.Service.Context, Publication.Service> search)
-
Method Summary
Modifier and Type Method Description final List<Publication.Service>build(Publication.Service.Context context)Builds the actual list of publication services to use in a Publication. final <T extends Publication.Service> Function1<Publication.Service.Context, Publication.Service>get(KClass<T> serviceType)Gets the publication service factory for the given service type. final <T extends Publication.Service> Unitset(KClass<T> serviceType, Function1<Publication.Service.Context, Publication.Service> factory)Sets the publication service factory for the given service type. final <T extends Publication.Service> Unitremove(KClass<T> serviceType)Removes the service factory producing the given kind of service, if any. final <T extends Publication.Service> Unitdecorate(KClass<T> serviceType, Function1<Function1<Publication.Service.Context, Publication.Service>, Function1<Publication.Service.Context, Publication.Service>> transform)Replaces the service factory associated with the given service type with the result of transform. -
-
Constructor Detail
-
Publication.ServicesBuilder
Publication.ServicesBuilder(Function1<Publication.Service.Context, Publication.Service> cache, Function1<Publication.Service.Context, Publication.Service> content, Function1<Publication.Service.Context, Publication.Service> contentProtection, Function1<Publication.Service.Context, Publication.Service> cover, Function1<Publication.Service.Context, Publication.Service> locator, Function1<Publication.Service.Context, Publication.Service> positions, Function1<Publication.Service.Context, Publication.Service> search)
-
-
Method Detail
-
build
final List<Publication.Service> build(Publication.Service.Context context)
Builds the actual list of publication services to use in a Publication.
-
get
final <T extends Publication.Service> Function1<Publication.Service.Context, Publication.Service> get(KClass<T> serviceType)
Gets the publication service factory for the given service type.
-
set
final <T extends Publication.Service> Unit set(KClass<T> serviceType, Function1<Publication.Service.Context, Publication.Service> factory)
Sets the publication service factory for the given service type.
-
remove
final <T extends Publication.Service> Unit remove(KClass<T> serviceType)
Removes the service factory producing the given kind of service, if any.
-
decorate
final <T extends Publication.Service> Unit decorate(KClass<T> serviceType, Function1<Function1<Publication.Service.Context, Publication.Service>, Function1<Publication.Service.Context, Publication.Service>> transform)
Replaces the service factory associated with the given service type with the result of transform.
-
-
-
-