Class AbstractDynamicMetadataResolver.EntityManagementData

    • Field Detail

      • entityID

        private String entityID
        The entity ID managed by this instance.
      • lastUpdateTime

        private Instant lastUpdateTime
        Last update time of the associated metadata.
      • expirationTime

        private Instant expirationTime
        Expiration time of the associated metadata.
      • refreshTriggerTime

        private Instant refreshTriggerTime
        Time at which should start attempting to refresh the metadata.
      • lastAccessedTime

        private Instant lastAccessedTime
        The last time at which the entity's backing store data was accessed.
      • negativeLookupCacheExpiration

        private Instant negativeLookupCacheExpiration
        The time at which the negative lookup cache flag expires, if set.
      • readWriteLock

        private ReadWriteLock readWriteLock
        Read-write lock instance which governs access to the entity's backing store data.
    • Constructor Detail

      • EntityManagementData

        protected EntityManagementData​(@Nonnull
                                       String id)
        Constructor.
        Parameters:
        id - the entity ID managed by this instance
    • Method Detail

      • getEntityID

        @Nonnull
        public String getEntityID()
        Get the entity ID managed by this instance.
        Returns:
        the entity ID
      • getLastUpdateTime

        @Nullable
        public Instant getLastUpdateTime()
        Get the last update time of the metadata.
        Returns:
        the last update time, or null if no metadata is yet loaded for the entity
      • setLastUpdateTime

        public void setLastUpdateTime​(@Nonnull
                                      Instant dateTime)
        Set the last update time of the metadata.
        Parameters:
        dateTime - the last update time
      • getExpirationTime

        @Nonnull
        public Instant getExpirationTime()
        Get the expiration time of the metadata.
        Returns:
        the expiration time
      • setExpirationTime

        public void setExpirationTime​(@Nonnull
                                      Instant dateTime)
        Set the expiration time of the metadata.
        Parameters:
        dateTime - the new expiration time
      • getRefreshTriggerTime

        @Nonnull
        public Instant getRefreshTriggerTime()
        Get the refresh trigger time of the metadata.
        Returns:
        the refresh trigger time
      • setRefreshTriggerTime

        public void setRefreshTriggerTime​(@Nonnull
                                          Instant dateTime)
        Set the refresh trigger time of the metadata.
        Parameters:
        dateTime - the new refresh trigger time
      • getLastAccessedTime

        @Nonnull
        public Instant getLastAccessedTime()
        Get the last time at which the entity's backing store data was accessed.
        Returns:
        last access time
      • recordEntityAccess

        public void recordEntityAccess()
        Record access of the entity's backing store data.
      • isNegativeLookupCacheActive

        public boolean isNegativeLookupCacheActive()
        Determine whether the negative lookup cache for the entity is in effect.
        Returns:
        true if active, false otherwise
      • initNegativeLookupCache

        public Instant initNegativeLookupCache()
        Initialize the negative lookup cache for the entity.
        Returns:
        the time before which no further lookups for the entity will be performed
      • clearNegativeLookupCache

        public void clearNegativeLookupCache()
        Clear out the negative lookup cache.
      • getReadWriteLock

        @Nonnull
        public ReadWriteLock getReadWriteLock()
        Get the read-write lock instance which governs access to the entity's backing store data.
        Returns:
        the lock instance