From 100e551066fc2b42a7578906a0a7a734896a2961 Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Tue, 08 Jan 2008 10:13:19 +0000
Subject: [PATCH] - [Issue 1595] need a fast way to prime the FileSystemEntryCache:   Add generic entry cache pre-load mechanism which is backend and entry cache implementations independent.

---
 opends/src/server/org/opends/server/api/Backend.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/api/Backend.java b/opends/src/server/org/opends/server/api/Backend.java
index fc26580..3775e7a 100644
--- a/opends/src/server/org/opends/server/api/Backend.java
+++ b/opends/src/server/org/opends/server/api/Backend.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
+ *      Portions Copyright 2006-2008 Sun Microsystems, Inc.
  */
 package org.opends.server.api;
 import org.opends.messages.Message;
@@ -30,6 +30,7 @@
 
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
@@ -210,6 +211,26 @@
 
 
   /**
+   * Retrieves the set of all DNs that are stored within this backend.
+   * Note that this can be a slow operation depending on a particular
+   * backend implementation and might be unsupported by some backends.
+   *
+   * @param   storedDNs  Collection to retrieve all stored DNs into.
+   *          Note that for async operation a thread-safe collection
+   *          should be used.
+   *
+   * @return  {@code true} if all DNs stored within this backend were
+   *          successfully retrieved, or {@code false} otherwise.
+   *
+   * @throws  UnsupportedOperationException if backend implementation
+   *          does not support this operation.
+   */
+  public abstract boolean collectStoredDNs(Collection<DN> storedDNs)
+    throws UnsupportedOperationException;
+
+
+
+  /**
    * Indicates whether the data associated with this backend may be
    * considered local (i.e., in a repository managed by the Directory
    * Server) rather than remote (i.e., in an external repository

--
Gitblit v1.10.0