WorkflowOperationPersistenceConflictException.java
package org.hammer.audio.workflow.collaboration.store;
import java.util.Objects;
/** Typed failure raised when an operation id is reused for different semantic content. */
public final class WorkflowOperationPersistenceConflictException extends RuntimeException {
private final String conflictingSessionId;
private final String conflictingOperationId;
/** Creates an operation-id conflict. */
public WorkflowOperationPersistenceConflictException(String sessionId, String operationId) {
super("Operation id " + operationId + " is already used in session " + sessionId);
this.conflictingSessionId = Objects.requireNonNull(sessionId, "sessionId");
this.conflictingOperationId = Objects.requireNonNull(operationId, "operationId");
}
public String sessionId() {
return conflictingSessionId;
}
public String operationId() {
return conflictingOperationId;
}
}