Class CurationDetailsValueObject

java.lang.Object
ubic.gemma.model.common.IdentifiableValueObject<CurationDetails>
ubic.gemma.model.common.auditAndSecurity.curation.CurationDetailsValueObject
All Implemented Interfaces:
Serializable, Identifiable

public class CurationDetailsValueObject extends IdentifiableValueObject<CurationDetails>
Value object exposing CurationDetails over the REST API.

The curationNote and lastNoteUpdateEvent fields are admin-only and remain null for non-administrators.

curationPending is not read from CurationDetails at all — it comes from the curation lock and is supplied by the caller, so it is null unless the reading path had the lock in hand.

See Also:
  • Constructor Details

    • CurationDetailsValueObject

      public CurationDetailsValueObject()
    • CurationDetailsValueObject

      public CurationDetailsValueObject(CurationDetails curationDetails)
    • CurationDetailsValueObject

      public CurationDetailsValueObject(CurationDetails curationDetails, @Nullable Boolean curationPending)
      As CurationDetailsValueObject(CurationDetails), plus the curation-lock state the caller already holds.
      Parameters:
      curationPending - whether an unexpired curation lock exists on the dataset, or null when the caller did not look. Kept only for administrators.
  • Method Details

    • getLastUpdated

      @Nullable public Date getLastUpdated()
    • isTroubled

      public boolean isTroubled()
    • getLastTroubledEvent

      @Nullable public AuditEventValueObject getLastTroubledEvent()
    • isNeedsAttention

      public boolean isNeedsAttention()
    • getLastNeedsAttentionEvent

      @Nullable public AuditEventValueObject getLastNeedsAttentionEvent()
    • getCurationNote

      @Nullable public String getCurationNote()
    • getLastNoteUpdateEvent

      @Nullable public AuditEventValueObject getLastNoteUpdateEvent()
    • getCurationPending

      @Nullable public Boolean getCurationPending()
      Whether curation of the dataset is under way right now.

      Administrators only, like curationNote beside it. Derived from the curation lock: true exactly while an unexpired claim exists. It names nobody, and it lapses with the lease rather than waiting on a sign-off, so a curator who only relabels does not leave it stuck on.

    • setLastUpdated

      public void setLastUpdated(@Nullable Date lastUpdated)
    • setTroubled

      public void setTroubled(boolean troubled)
    • setLastTroubledEvent

      public void setLastTroubledEvent(@Nullable AuditEventValueObject lastTroubledEvent)
    • setNeedsAttention

      public void setNeedsAttention(boolean needsAttention)
    • setLastNeedsAttentionEvent

      public void setLastNeedsAttentionEvent(@Nullable AuditEventValueObject lastNeedsAttentionEvent)
    • setCurationNote

      public void setCurationNote(@Nullable String curationNote)
    • setLastNoteUpdateEvent

      public void setLastNoteUpdateEvent(@Nullable AuditEventValueObject lastNoteUpdateEvent)
    • setCurationPending

      public void setCurationPending(@Nullable Boolean curationPending)
      Whether curation of the dataset is under way right now.

      Administrators only, like curationNote beside it. Derived from the curation lock: true exactly while an unexpired claim exists. It names nobody, and it lapses with the lease rather than waiting on a sign-off, so a curator who only relabels does not leave it stuck on.