Class DomainDBCursor

    • Constructor Detail

      • DomainDBCursor

        public DomainDBCursor​(Dn baseDN,
                              ReplicationDomainDB domainDB,
                              DBCursor.CursorOptions options)
        Builds a DomainDBCursor instance.
        Parameters:
        baseDN - the replication domain baseDN of this cursor
        domainDB - the DB for the provided replication domain
        options - The cursor options
    • Method Detail

      • getBaseDN

        public Dn getBaseDN()
        Returns the replication domain baseDN of this cursor.
        Returns:
        the replication domain baseDN of this cursor.
      • addReplicaDB

        public void addReplicaDB​(DomainReplicaId replicaId,
                                 CSN startCSN)
        Adds a replicaDB for this cursor to iterate over. Added cursors will be created and iterated over on the next call to DBCursor.next().
        Parameters:
        replicaId - the replica ID
        startCSN - the CSN to use as a starting point
      • close

        public void close()
        Description copied from interface: DBCursor
        Release the resources and locks used by this Iterator. This method must be called when the iterator is no longer used. Failure to do it could cause DB deadlock.
        Specified by:
        close in interface AutoCloseable
        Specified by:
        close in interface Closeable
        Specified by:
        close in interface DBCursor<UpdateMsg>
      • next

        public boolean next()
                     throws ChangelogException
        Description copied from interface: DBCursor
        Skip to the next record of the database.
        Specified by:
        next in interface DBCursor<T>
        Returns:
        true if has next, false otherwise
        Throws:
        ChangelogException - When database exception raised.
      • addCursor

        protected final void addCursor​(DBCursor<UpdateMsg> cursor,
                                       T data)
                                throws ChangelogException
        Adds a cursor to this composite cursor. It first calls DBCursor.next() to verify whether it is exhausted or not.
        Parameters:
        cursor - the cursor to add to this composite
        data - the data associated to the provided cursor
        Throws:
        ChangelogException - if a database problem occurred
      • getRecord

        public UpdateMsg getRecord()
        Description copied from interface: DBCursor
        Getter for the current record.

        This method will always return null when

        Specified by:
        getRecord in interface DBCursor<T>
        Returns:
        The current record. May be null.
      • getData

        public T getData()
        Returns the data associated to the cursor that returned the current record.
        Returns:
        the data associated to the cursor that returned the current record.