
org.elder.sourcerer.OperationHandlerOperation Maven / Gradle / Ivy
package org.elder.sourcerer;
import java.util.List;
/**
* Implementation of Operation in terms of an OperationHandler and parameters.
*/
public class OperationHandlerOperation
implements Operation {
private final OperationHandler handler;
private final boolean requiresState;
private final boolean requiresArguments;
private final ExpectedVersion expectedVersion;
private boolean atomic;
public OperationHandlerOperation(
final OperationHandler handler,
final boolean requiresState,
final boolean requiresArguments) {
this(handler, requiresState, requiresArguments, ExpectedVersion.any(), false);
}
public OperationHandlerOperation(
final OperationHandler handler,
final boolean requiresState,
final boolean requiresArguments,
final ExpectedVersion expectedVersion) {
this(handler, requiresState, requiresArguments, expectedVersion, false);
}
public OperationHandlerOperation(
final OperationHandler handler,
final boolean requiresState,
final boolean requiresArguments,
final ExpectedVersion expectedVersion,
final boolean atomic) {
this.handler = handler;
this.requiresState = requiresState;
this.requiresArguments = requiresArguments;
this.expectedVersion = expectedVersion;
this.atomic = atomic;
}
@Override
public List extends TEvent> execute(
final ImmutableAggregate aggregate,
final TParams params) {
return handler.execute(aggregate, params);
}
@Override
public boolean requiresState() {
return requiresState;
}
@Override
public boolean requiresArguments() {
return requiresArguments;
}
@Override
public ExpectedVersion expectedVersion() {
return expectedVersion;
}
@Override
public boolean atomic() {
return atomic;
}
public OperationHandler handler() {
return handler;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy