Interface StorageEntity

  • All Known Implementing Classes:
    StorageEntity.Default

    public interface StorageEntity
    Public API level type of storage entity. Used for custom evaluators, filters, etc. Does intentionally not provide any means to load/access the entity's data or change any if its state. This is purely a querying interface, not a means to manipulate data via bypassing normal channels to do so.
    • Method Detail

      • dataLength

        long dataLength()
        Returns:
        The entity's data length, meaning the pure content length without any header or meta data.
      • typeId

        long typeId()
        Returns:
        The entity's type id.
      • objectId

        long objectId()
        Returns:
        The entity's biunique identifying id number.
      • hasReferences

        boolean hasReferences()
        Returns:
        The information if this entity's type has reference fields (regardless of a particular entity's actual data).
      • cachedDataLength

        long cachedDataLength()
        The length this entity occupies in the cache. This might vary, even for fixed length typed, from the values returned by dataLength() as only parts of an entity (e.g. only references) might be loaded into cache and because the cache might hold the header/meta-data of an entity as well.
        Returns:
        The length this entity occupies in the cache.
      • lastTouched

        long lastTouched()
        The approximate system time that this particular entity has been last touched. The returned value is compatible to the value returned by System.currentTimeMillis().
        Returns:
        approximate system time that this particular entity has been last touched
      • storagePosition

        long storagePosition()
      • clearCache

        long clearCache()
      • iterateReferenceIds

        boolean iterateReferenceIds​(one.microstream.persistence.types.PersistenceObjectIdAcceptor referenceIdIterator)
      • exportTo

        long exportTo​(one.microstream.afs.types.AWritableFile file)