package de.gecheckt.pdf.umbenenner.application.port.in;

import de.gecheckt.pdf.umbenenner.domain.model.RunId;

/**
 * Shared singleton no-op implementation of {@link BatchRunProgressObserver}.
 * <p>
 * Returned by {@link BatchRunProgressObserver#noOp()}; not intended for direct
 * instantiation by callers.
 */
final class NoOpBatchRunProgressObserver implements BatchRunProgressObserver {

    static final NoOpBatchRunProgressObserver INSTANCE = new NoOpBatchRunProgressObserver();

    private NoOpBatchRunProgressObserver() {
    }

    @Override
    public void onRunStarted(RunId runId, int totalCandidates) {
        // intentionally empty
    }

    @Override
    public void onDocumentCompleted(DocumentCompletionEvent event) {
        // intentionally empty
    }

    @Override
    public void onRunEnded(RunSummary summary) {
        // intentionally empty
    }
}
