ContentCanonicalizationFullText.java
package net.sasasin.sreader.domain;
import java.time.OffsetDateTime;
import java.util.Objects;
/** Snapshot of a full-text row attached to a canonicalization candidate. */
public record ContentCanonicalizationFullText(
String id, String text, OffsetDateTime extractedAt, OffsetDateTime createdAt) {
public ContentCanonicalizationFullText {
Objects.requireNonNull(id, "id must not be null");
// text may be blank or null in DB; blank rows are not selected as survivor full text
Objects.requireNonNull(extractedAt, "extractedAt must not be null");
Objects.requireNonNull(createdAt, "createdAt must not be null");
}
}