Class SoftRefCachingMapper

    • Field Detail

      • mapper

        public Mapper mapper
        The Mapper to which operations are delegated.
    • Constructor Detail

      • SoftRefCachingMapper

        public SoftRefCachingMapper()
    • Method Detail

      • scroll

        public ScrollResult scroll​(String query,
                                   int batchSize,
                                   int keepAliveSeconds)
        Description copied from interface: Mapper
        Executes the given query and returns the first batch of results containing id of documents, next batch must be requested within the keepAliveSeconds delay.
        Specified by:
        scroll in interface Mapper
      • scroll

        public ScrollResult scroll​(String query,
                                   QueryFilter queryFilter,
                                   int batchSize,
                                   int keepAliveSeconds)
        Description copied from interface: Mapper
        Executes the given query and returns the first batch of results containing id of documents, next batch must be requested within the keepAliveSeconds delay.
        Specified by:
        scroll in interface Mapper
      • scroll

        public ScrollResult scroll​(String scrollId)
        Description copied from interface: Mapper
        Get the next batch of results containing id of documents, the scrollId is part of the previous ScrollResult response.
        Specified by:
        scroll in interface Mapper
      • getIdentification

        public Mapper.Identification getIdentification()
        Description copied from interface: Mapper
        Returns the repository id and mapper id assigned.

        This is used in remote stateless mode to be able to identify to which mapper an incoming connection is targeted, and from which repository instance.

        Specified by:
        getIdentification in interface Mapper
        Returns:
        the repository and mapper identification
      • getRootId

        public Serializable getRootId​(String repositoryId)
        Description copied from interface: Mapper
        Gets the root id for a given repository, if registered.
        Specified by:
        getRootId in interface Mapper
        Parameters:
        repositoryId - the repository id
        Returns:
        the root id, or null if not found
      • setRootId

        public void setRootId​(Serializable repositoryId,
                              Serializable id)
        Description copied from interface: Mapper
        Records the newly generated root id for a given repository.
        Specified by:
        setRootId in interface Mapper
        Parameters:
        repositoryId - the repository id, usually 0
        id - the root id
      • query

        public PartialList<Serializable> query​(String query,
                                               String queryType,
                                               QueryFilter queryFilter,
                                               boolean countTotal)
        Description copied from interface: Mapper
        Makes a NXQL query to the database.
        Specified by:
        query in interface Mapper
        Parameters:
        query - the query
        queryType - the query type
        queryFilter - the query filter
        countTotal - if true, count the total size without limit/offset
        Returns:
        the list of matching document ids
      • query

        public PartialList<Serializable> query​(String query,
                                               String queryType,
                                               QueryFilter queryFilter,
                                               long countUpTo)
        Description copied from interface: Mapper
        Makes a NXQL query to the database.
        Specified by:
        query in interface Mapper
        Parameters:
        query - the query
        queryType - the query type
        queryFilter - the query filter
        countUpTo - if -1, count the total size without offset/limit.
        If 0, don't count the total size.
        If n, count the total number if there are less than n documents otherwise set the size to -1.
        Returns:
        the list of matching document ids
      • queryAndFetch

        public IterableQueryResult queryAndFetch​(String query,
                                                 String queryType,
                                                 QueryFilter queryFilter,
                                                 boolean distinctDocuments,
                                                 Object... params)
        Description copied from interface: Mapper
        Makes a query to the database and returns an iterable (which must be closed when done).
        Specified by:
        queryAndFetch in interface Mapper
        Parameters:
        query - the query
        queryType - the query type
        queryFilter - the query filter
        distinctDocuments - if true then a maximum of one row per document will be returned
        params - optional query-type-dependent parameters
        Returns:
        an iterable, which must be closed when done
      • queryProjection

        public PartialList<Map<String,​Serializable>> queryProjection​(String query,
                                                                           String queryType,
                                                                           QueryFilter queryFilter,
                                                                           boolean distinctDocuments,
                                                                           long countUpTo,
                                                                           Object... params)
        Description copied from interface: Mapper
        Makes a query to the database.
        Specified by:
        queryProjection in interface Mapper
        Parameters:
        query - the query
        queryType - the query type
        queryFilter - the query filter
        distinctDocuments - if true then a maximum of one row per document will be returned
        countUpTo - if -1, also count the total size without offset/limit.
        If 0, don't count the total size.
        If n, count the total number if there are less than n documents otherwise set the size to -1.
        params - optional query-type-dependent parameters
        Returns:
        a projection
      • createClusterNode

        public void createClusterNode​(Serializable nodeId)
        Description copied from interface: Mapper
        Informs the cluster that this node exists.
        Specified by:
        createClusterNode in interface Mapper
      • removeClusterNode

        public void removeClusterNode​(Serializable nodeId)
        Description copied from interface: Mapper
        Removes this node from the cluster.
        Specified by:
        removeClusterNode in interface Mapper
      • markReferencedBlobs

        public void markReferencedBlobs​(BiConsumer<String,​String> markerCallback)
        Description copied from interface: Mapper
        Marks the blobs in use by passing them to the provided callback (taking the blob key and the repository name).
        Specified by:
        markReferencedBlobs in interface Mapper
      • cleanupDeletedRows

        public int cleanupDeletedRows​(int max,
                                      Calendar beforeTime)
        Description copied from interface: Mapper
        Cleans up (hard-delete) any rows that have been soft-deleted in the database.
        Specified by:
        cleanupDeletedRows in interface Mapper
        Parameters:
        max - the maximum number of rows to delete at a time
        beforeTime - the maximum deletion time of the rows to delete
        Returns:
        the number of rows deleted