1 49 50 package org.ozoneDB.collections; 51 52 import java.util.Iterator ; 53 54 59 public class _BaseTreeMap_SubMap_values extends AbstractOzoneCollection implements OzoneCollection { 60 61 private static final long serialVersionUID = 1L; 62 63 private _BaseTreeMap_SubMap owner; 64 65 66 public _BaseTreeMap_SubMap_values(_BaseTreeMap_SubMap owner) { 67 this.owner = owner; 68 } 69 70 public int size() { 71 return owner.size(); 72 } 73 74 public Iterator iterator() { 75 if (owner.getOwner()._org_ozoneDB_alwaysUseInternalIterator()) { 76 return _org_ozoneDB_internalIterator(); 77 } else { 78 BaseTreeMap.Node first = owner.getOwner()._org_ozoneDB_lowestGreaterThan(owner.getMinKey(), true); 79 BaseTreeMap.Node max = owner.getOwner()._org_ozoneDB_lowestGreaterThan(owner.getMaxKey(), false); 80 return (Iterator ) database().createObject(_BaseTreeMap_OzoneTreeIteratorImpl.class, 83 new Class [] {BaseTreeMap.class, Integer.TYPE, BaseTreeMap.Node.class, BaseTreeMap.Node.class}, 84 new Object [] {owner.getOwner(), new Integer (BaseTreeMapImpl.VALUES), first, max}); 85 } 86 } 87 88 public Iterator _org_ozoneDB_internalIterator() { 89 BaseTreeMap.Node first = owner.getOwner()._org_ozoneDB_lowestGreaterThan(owner.getMinKey(), true); 90 BaseTreeMap.Node max = owner.getOwner()._org_ozoneDB_lowestGreaterThan(owner.getMaxKey(), false); 91 return new _BaseTreeMap_TreeIterator(owner.getOwner(), BaseTreeMapImpl.VALUES, first, max); 92 } 93 94 public void clear() { 95 owner.clear(); 96 } 97 98 } | Popular Tags |