1 21 package com.db4o.inside.fieldindex; 22 23 import com.db4o.*; 24 import com.db4o.foundation.*; 25 import com.db4o.inside.btree.*; 26 27 public class JoinedLeaf implements IndexedNodeWithRange { 28 29 private final QCon _constraint; 30 private final IndexedNodeWithRange _leaf1; 31 private final BTreeRange _range; 32 33 public JoinedLeaf(final QCon constraint, final IndexedNodeWithRange leaf1, final BTreeRange range) { 34 if (null == constraint || null == leaf1 || null == range) { 35 throw new ArgumentNullException(); 36 } 37 _constraint = constraint; 38 _leaf1 = leaf1; 39 _range = range; 40 } 41 42 public QCon getConstraint() { 43 return _constraint; 44 } 45 46 public BTreeRange getRange() { 47 return _range; 48 } 49 50 public Iterator4 iterator() { 51 return _range.keys(); 52 } 53 54 public TreeInt toTreeInt() { 55 return IndexedNodeBase.addToTree(null, this); 56 } 57 58 public BTree getIndex() { 59 return _leaf1.getIndex(); 60 } 61 62 public boolean isResolved() { 63 return _leaf1.isResolved(); 64 } 65 66 public IndexedNode resolve() { 67 return IndexedPath.newParentPath(this, _constraint); 68 } 69 70 public int resultSize() { 71 return _range.size(); 72 } 73 } | Popular Tags |