import static java.util.Objects.requireNonNull;
import akka.persistence.PersistentRepr;
-import io.atomix.storage.journal.JournalSegment;
/**
* A single entry in the data journal. We do not store {@code persistenceId} for each entry, as that is a
- * journal-invariant, nor do we store {@code sequenceNr}, as that information is maintained by {@link JournalSegment}'s
- * index.
- *
- * @author Robert Varga
+ * journal-invariant, nor do we store {@code sequenceNr}, as that information is maintained by a particular journal
+ * segment's index.
*/
-abstract class DataJournalEntry {
+abstract sealed class DataJournalEntry {
+ /**
+ * A single data journal entry on its way to the backing file.
+ */
static final class ToPersistence extends DataJournalEntry {
private final PersistentRepr repr;
}
}
+ /**
+ * A single data journal entry on its way from the backing file.
+ */
static final class FromPersistence extends DataJournalEntry {
private final String manifest;
private final String writerUuid;