com.github.nagyesta.lowkeyvault.service.common.BaseVaultEntity Maven / Gradle / Ivy
package com.github.nagyesta.lowkeyvault.service.common;
import com.github.nagyesta.lowkeyvault.model.v7_2.common.constants.RecoveryLevel;
import com.github.nagyesta.lowkeyvault.service.EntityId;
import com.github.nagyesta.lowkeyvault.service.key.ReadOnlyDeletedEntity;
import java.time.OffsetDateTime;
import java.util.Map;
import java.util.Optional;
/**
* Base interface of vault entities.
*
* @param The type of the versioned Id identifying this entity.
*/
public interface BaseVaultEntity extends ReadOnlyDeletedEntity, TimeAware {
boolean isEnabled();
void setEnabled(boolean enabled);
Optional getNotBefore();
void setNotBefore(OffsetDateTime notBefore);
Optional getExpiry();
void setExpiry(OffsetDateTime expiry);
OffsetDateTime getCreated();
OffsetDateTime getUpdated();
RecoveryLevel getRecoveryLevel();
Integer getRecoverableDays();
Map getTags();
void setTags(Map tags);
void setDeletedDate(OffsetDateTime deletedDate);
void setScheduledPurgeDate(OffsetDateTime scheduledPurgeDate);
boolean isPurgeExpired();
boolean canPurge();
boolean isManaged();
void setCreatedOn(OffsetDateTime createdOn);
void setUpdatedOn(OffsetDateTime updatedOn);
void setManaged(boolean managed);
}