
dev.soffa.foundation.spring.service.OperationDispatcher Maven / Gradle / Ivy
package dev.soffa.foundation.spring.service;
import dev.soffa.foundation.config.OperationsMapping;
import dev.soffa.foundation.context.Context;
import dev.soffa.foundation.context.ContextHolder;
import dev.soffa.foundation.core.Dispatcher;
import dev.soffa.foundation.core.Operation;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
@Component
@AllArgsConstructor
public class OperationDispatcher implements Dispatcher {
private final OperationsMapping operations;
@Override
public > O dispatch(Class operationClass, I input, Context ctx) {
return operations.require(operationClass).handle(input, ctx);
}
@Override
public > O dispatch(Class operationClass, I input) {
return dispatch(operationClass, input, ContextHolder.require());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy