예제 #1
0
파일: HTree.java 프로젝트: yeins/vietspider
  /**
   * Load a persistent hashtable
   *
   * @param recman RecordManager used to store the persistent hashtable
   * @param root_recid Record id of the root directory of the HTree
   */
  public static <K, V> HTree<K, V> load(
      RecordManager recman,
      long root_recid,
      Serializer<K> keySerializer,
      Serializer<V> valueSerializer)
      throws IOException {
    HashDirectory<K, V> root;

    HTree<K, V> tree = new HTree<K, V>();
    tree.keySerializer = keySerializer;
    tree.valueSerializer = valueSerializer;

    tree._root = (HashDirectory<K, V>) recman.fetch(root_recid, tree.SERIALIZER);
    tree._root.setPersistenceContext(recman, root_recid);

    return tree;
  }