All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy