KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > mdr > persistence > btreeimpl > btreeindex > BtreeCollection


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19 package org.netbeans.mdr.persistence.btreeimpl.btreeindex;
20 import org.netbeans.mdr.persistence.*;
21 import java.io.*;
22 import java.util.*;
23
24 /**
25  * This is the read-only Collection interface to the set of values contained
26  * in a SinglevaluedBtree.
27  *
28  * @author Dana Bergen
29  * @version 1.0
30  */

31 public class BtreeCollection extends AbstractCollection {
32
33     protected Btree btree;
34
35     /**
36      * Construct a Collection view of a btree.
37      *
38      * @param btree the btree
39      */

40     public BtreeCollection(Btree btree) {
41         this.btree = btree;
42     }
43
44     /**
45      * Returns the number of items in this btree
46      */

47     public int size() {
48         try {
49         btree.beginRead();
50             return btree.countRecords();
51     } catch (StorageException e) {
52     } finally {
53         btree.endRead();
54     }
55     return 0;
56     }
57     
58     public boolean isEmpty() {
59         return !iterator().hasNext();
60     }
61
62     /**
63      * Returns an iterator on this BtreeCollection
64      */

65     public Iterator iterator() {
66         return new BtreeIterator(btree);
67     }
68 }
69
Popular Tags