public interface TargetSystemOps
extends io.flamingock.api.external.TargetSystem
This interface provides the minimal API required by Flamingock's execution engine to interact with target systems. It abstracts the implementation details and exposes only the operations needed for change execution.
Implementations typically wrap an AbstractTargetSystem
instance and delegate operations to it.
| Modifier and Type | Method and Description |
|---|---|
<T> T |
applyChange(java.util.function.Function<ExecutionRuntime,T> changeApplier,
ExecutionRuntime executionRuntime)
Applies a change operation to this target system.
|
io.flamingock.internal.common.core.targets.OperationType |
getOperationType()
Returns the type of operations supported by this target system.
|
<T> T |
rollbackChange(java.util.function.Function<ExecutionRuntime,T> changeRollbacker,
ExecutionRuntime executionRuntime)
Rolls back (reverts) a previously applied change in this target system.
|
io.flamingock.internal.common.core.targets.OperationType getOperationType()
<T> T applyChange(java.util.function.Function<ExecutionRuntime,T> changeApplier, ExecutionRuntime executionRuntime)
This method coordinates the execution of a change by:
T - the return type of the change operationchangeApplier - the function that executes the actual changeexecutionRuntime - the runtime context for dependency resolution<T> T rollbackChange(java.util.function.Function<ExecutionRuntime,T> changeRollbacker, ExecutionRuntime executionRuntime)
This method coordinates the execution of a rollback by:
Implementations should strive for idempotency: invoking the rollback more than once should not produce side effects beyond the first successful revert.
T - the return type of the rollback operationchangeRollbacker - the function that executes the actual rollbackexecutionRuntime - the runtime context for dependency resolution