public class NoteDbChangeState
extends java.lang.Object
Stored serialized in the Change#noteDbState
field, and used to determine whether the
state in NoteDb is out of date.
Serialized in one of the forms:
Modifier and Type | Class and Description |
---|---|
static class |
NoteDbChangeState.Delta |
static class |
NoteDbChangeState.PrimaryStorage |
static class |
NoteDbChangeState.RefState |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
NOTE_DB_PRIMARY_STATE |
Constructor and Description |
---|
NoteDbChangeState(Change.Id changeId,
NoteDbChangeState.PrimaryStorage primaryStorage,
java.util.Optional<NoteDbChangeState.RefState> refState,
java.util.Optional<java.sql.Timestamp> readOnlyUntil) |
Modifier and Type | Method and Description |
---|---|
static NoteDbChangeState |
applyDelta(Change change,
NoteDbChangeState.Delta delta)
Apply a delta to the state stored in a change entity.
|
static boolean |
areDraftsUpToDate(NoteDbChangeState state,
RefCache draftsRepoRefs,
Change.Id changeId,
Account.Id accountId) |
boolean |
areDraftsUpToDate(RefCache draftsRepoRefs,
Account.Id accountId) |
static void |
checkNotReadOnly(Change change,
long skewMs) |
static void |
checkNotReadOnly(NoteDbChangeState state,
long skewMs) |
boolean |
equals(java.lang.Object o) |
Change.Id |
getChangeId() |
org.eclipse.jgit.lib.ObjectId |
getChangeMetaId() |
com.google.common.collect.ImmutableMap<Account.Id,org.eclipse.jgit.lib.ObjectId> |
getDraftIds() |
NoteDbChangeState.PrimaryStorage |
getPrimaryStorage() |
static long |
getReadOnlySkew(org.eclipse.jgit.lib.Config cfg) |
java.util.Optional<java.sql.Timestamp> |
getReadOnlyUntil() |
java.util.Optional<NoteDbChangeState.RefState> |
getRefState() |
int |
hashCode() |
static boolean |
isChangeUpToDate(NoteDbChangeState state,
RefCache changeRepoRefs,
Change.Id changeId) |
boolean |
isChangeUpToDate(RefCache changeRepoRefs) |
boolean |
isReadOnly(java.sql.Timestamp now) |
boolean |
isUpToDate(RefCache changeRepoRefs,
RefCache draftsRepoRefs) |
static NoteDbChangeState |
parse(Change.Id id,
java.lang.String str) |
static NoteDbChangeState |
parse(Change c) |
java.lang.String |
toString() |
NoteDbChangeState |
withReadOnlyUntil(java.sql.Timestamp ts) |
public static final java.lang.String NOTE_DB_PRIMARY_STATE
public NoteDbChangeState(Change.Id changeId, NoteDbChangeState.PrimaryStorage primaryStorage, java.util.Optional<NoteDbChangeState.RefState> refState, java.util.Optional<java.sql.Timestamp> readOnlyUntil)
public static NoteDbChangeState parse(Change c)
public static NoteDbChangeState parse(Change.Id id, java.lang.String str)
public static NoteDbChangeState applyDelta(Change change, NoteDbChangeState.Delta delta)
This method does not check whether the old state was read-only; it is up to the caller to not violate read-only semantics when storing the change back in ReviewDb.
change
- change entity. The delta is applied against this entity's noteDbState
and
the new state is stored back in the entity as a side effect.delta
- delta to apply.change
as a side effect.public static boolean isChangeUpToDate(NoteDbChangeState state, RefCache changeRepoRefs, Change.Id changeId) throws java.io.IOException
java.io.IOException
public static boolean areDraftsUpToDate(NoteDbChangeState state, RefCache draftsRepoRefs, Change.Id changeId, Account.Id accountId) throws java.io.IOException
java.io.IOException
public static long getReadOnlySkew(org.eclipse.jgit.lib.Config cfg)
public static void checkNotReadOnly(Change change, long skewMs)
public static void checkNotReadOnly(NoteDbChangeState state, long skewMs)
public NoteDbChangeState.PrimaryStorage getPrimaryStorage()
public boolean isChangeUpToDate(RefCache changeRepoRefs) throws java.io.IOException
java.io.IOException
public boolean areDraftsUpToDate(RefCache draftsRepoRefs, Account.Id accountId) throws java.io.IOException
java.io.IOException
public boolean isUpToDate(RefCache changeRepoRefs, RefCache draftsRepoRefs) throws java.io.IOException
java.io.IOException
public boolean isReadOnly(java.sql.Timestamp now)
public java.util.Optional<java.sql.Timestamp> getReadOnlyUntil()
public NoteDbChangeState withReadOnlyUntil(java.sql.Timestamp ts)
public Change.Id getChangeId()
public org.eclipse.jgit.lib.ObjectId getChangeMetaId()
public com.google.common.collect.ImmutableMap<Account.Id,org.eclipse.jgit.lib.ObjectId> getDraftIds()
public java.util.Optional<NoteDbChangeState.RefState> getRefState()
public java.lang.String toString()
toString
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object