Package com.cloudimpl.outstack.runtime
Class ServiceProvider<T extends RootEntity,R>
java.lang.Object
com.cloudimpl.outstack.runtime.ServiceProvider<T,R>
- Type Parameters:
T-
- All Implemented Interfaces:
java.util.function.Function<java.lang.Object,org.reactivestreams.Publisher<?>>
public class ServiceProvider<T extends RootEntity,R>
extends java.lang.Object
implements java.util.function.Function<java.lang.Object,org.reactivestreams.Publisher<?>>
- Author:
- nuwan
-
Constructor Summary
Constructors Constructor Description ServiceProvider(java.lang.Class<T> rootType, EventRepositoy<T> eventRepository, java.util.function.Function<java.lang.Class<? extends RootEntity>,QueryOperations<?>> queryOperationSelector, java.util.function.Supplier<java.util.function.BiFunction<java.lang.String,java.lang.Object,reactor.core.publisher.Mono>> requestHandler, java.util.function.Supplier<java.util.function.Consumer> injector) -
Method Summary
Modifier and Type Method Description org.reactivestreams.Publisherapply(java.lang.Object input)voidapplyEvent(Event event)java.util.Optional<EntityCommandHandler>getCmdHandler(java.lang.String name)voidregisterCommandHandler(java.lang.Class<? extends EntityCommandHandler> handlerType)voidregisterDefaultCmdHandlersForEntity(java.lang.Class<? extends Entity> entityType)voidregisterEventHandler(java.lang.Class<? extends EntityEventHandler> handlerType)voidvalidate(java.util.function.Predicate<java.lang.String> pred, java.lang.String name, java.lang.String error)static voidvalidateHandler(java.lang.String name, java.lang.Class<? extends RootEntity> rootType, java.lang.Class<? extends Entity> type)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.function.Function
andThen, compose
-
Constructor Details
-
ServiceProvider
public ServiceProvider(java.lang.Class<T> rootType, EventRepositoy<T> eventRepository, java.util.function.Function<java.lang.Class<? extends RootEntity>,QueryOperations<?>> queryOperationSelector, java.util.function.Supplier<java.util.function.BiFunction<java.lang.String,java.lang.Object,reactor.core.publisher.Mono>> requestHandler, java.util.function.Supplier<java.util.function.Consumer> injector)
-
-
Method Details
-
registerCommandHandler
-
registerDefaultCmdHandlersForEntity
-
registerEventHandler
-
getCmdHandler
-
validateHandler
public static void validateHandler(java.lang.String name, java.lang.Class<? extends RootEntity> rootType, java.lang.Class<? extends Entity> type) -
apply
public org.reactivestreams.Publisher apply(java.lang.Object input)- Specified by:
applyin interfacejava.util.function.Function<T extends RootEntity,R>
-
applyEvent
-
validate
public void validate(java.util.function.Predicate<java.lang.String> pred, java.lang.String name, java.lang.String error)
-