Class DataRowStore

    • Constructor Detail

      • DataRowStore

        public DataRowStore​(String name,
                            RuntimeProperties properties,
                            EventManager eventManager)
        Creates new DataRowStore with a specified name and a set of properties. If no properties are defined, default values are used.
        Parameters:
        name - DataRowStore name. Used to identify this DataRowStore in events, etc. Can't be null.
        properties - Properties map used to configure DataRowStore parameters. Can be null.
        eventManager - EventManager that should be used for posting and receiving events.
        Since:
        1.2
    • Method Detail

      • initWithProperties

        protected void initWithProperties​(RuntimeProperties properties)
      • setEventBridge

        protected void setEventBridge​(EventBridge eventBridge)
      • getEventBridge

        protected EventBridge getEventBridge()
      • size

        public int size()
        Returns current cache size.
      • maximumSize

        public int maximumSize()
        Returns maximum allowed cache size.
      • shutdown

        public void shutdown()
        Shuts down any remote notification connections, and clears internal cache.
      • getName

        public String getName()
        Returns the name of this DataRowStore. Name allows to create EventSubjects for event notifications addressed to or sent from this DataRowStore.
      • setName

        public void setName​(String name)
        Sets the name of this DataRowStore. Name allows to create EventSubjects for event notifications addressed to or sent from this DataRowStore.
      • getEventManager

        public EventManager getEventManager()
        Returns an EventManager associated with this DataRowStore.
        Since:
        1.2
      • setEventManager

        public void setEventManager​(EventManager eventManager)
        Sets an EventManager associated with this DataRowStore.
        Since:
        1.2
      • getCachedSnapshot

        public DataRow getCachedSnapshot​(ObjectId oid)
        Returns cached snapshot or null if no snapshot is currently cached for the given ObjectId.
      • getSnapshotEventSubject

        public EventSubject getSnapshotEventSubject()
        Returns EventSubject used by this SnapshotCache to notify of snapshot changes.
      • clear

        public void clear()
        Expires and removes all stored snapshots without sending any notification events.
      • forgetSnapshot

        public void forgetSnapshot​(ObjectId id)
        Evicts a snapshot from cache without generating any SnapshotEvents.
      • processRemoteEvent

        public void processRemoteEvent​(SnapshotEvent event)
        Handles remote events received via EventBridge. Performs needed snapshot updates, and then resends the event to local listeners.
      • processSnapshotChanges

        public void processSnapshotChanges​(Object postedBy,
                                           Map<ObjectId,​DataRow> updatedSnapshots,
                                           Collection<ObjectId> deletedSnapshotIds,
                                           Collection<ObjectId> invalidatedSnapshotIds,
                                           Collection<ObjectId> indirectlyModifiedIds)
        Processes changes made to snapshots. Modifies internal cache state, and then sends the event to all listeners. Source of these changes is usually an ObjectStore.