Interface NodeBulkLoader

All Known Subinterfaces:
NodeDAO
All Known Implementing Classes:
AbstractNodeDAOImpl, NodeDAOImpl, NodeDAOImpl.MSSQL, NodeDAOImpl.MySQL, NodeDAOImpl.MySQLClusterNDB

public interface NodeBulkLoader
A component that pre-fetches cached data for the given nodes. Client code can use this component when a list of NodeRef instances will be processed in a data-intensive manner.
Author:
Andy Hind, Derek Hulley
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    cacheNodes(List<NodeRef> nodeRefs)
    Pre-cache data relevant to the given nodes.
    void
    Pre-cache data relevant to the given nodes.
    void
    FOR TESTING ONLY: Clears out node cache data
    Gets the current set of cached ancestors of the given list of nodes.
    void
    Transaction-scope setting to make the Node loader to guarantee the validity of all caches: some cache data will be reloaded; some cache data will be considered safe.
  • Method Details

    • getCachedAncestors

      Set<Long> getCachedAncestors(List<Long> nodeIds)
      Gets the current set of cached ancestors of the given list of nodes.
      Parameters:
      nodeIds - a list of node IDs to visit
      Returns:
      the current set of cached ancestors of the given list of nodes, including the nodes themselves.
    • setCheckNodeConsistency

      void setCheckNodeConsistency()
      Transaction-scope setting to make the Node loader to guarantee the validity of all caches: some cache data will be reloaded; some cache data will be considered safe.
    • cacheNodes

      void cacheNodes(List<NodeRef> nodeRefs)
      Pre-cache data relevant to the given nodes. There is no need to split the collection up before calling this method; it is up to the implementations to ensure that batching is done where necessary.
      Parameters:
      nodeRefs - the nodes that will be cached.
    • cacheNodesById

      void cacheNodesById(List<Long> nodeIds)
      Pre-cache data relevant to the given nodes. There is no need to split the collection up before calling this method; it is up to the implementations to ensure that batching is done where necessary.
      Parameters:
      nodeIds - the nodes that will be cached.
    • clear

      void clear()
      FOR TESTING ONLY: Clears out node cache data