WorkflowHistoryComparison.java
package org.hammer.audio.workflow.history;
import java.util.Objects;
import org.hammer.audio.workflow.Workflow;
import org.hammer.audio.workflow.store.CommitId;
/**
* Exact branch-scoped comparison between two authoritative workflow commits.
*
* @param beforeCommit exact before commit
* @param afterCommit exact after commit
* @param beforeWorkflow authoritative before workflow
* @param afterWorkflow authoritative after workflow
* @param diff ordered semantic difference between both workflows
*/
public record WorkflowHistoryComparison(
CommitId beforeCommit,
CommitId afterCommit,
Workflow beforeWorkflow,
Workflow afterWorkflow,
WorkflowDiff diff) {
public WorkflowHistoryComparison {
Objects.requireNonNull(beforeCommit, "beforeCommit");
Objects.requireNonNull(afterCommit, "afterCommit");
Objects.requireNonNull(beforeWorkflow, "beforeWorkflow");
Objects.requireNonNull(afterWorkflow, "afterWorkflow");
Objects.requireNonNull(diff, "diff");
}
}