1 21 package com.db4o.inside.query; 22 23 import com.db4o.*; 24 import com.db4o.foundation.*; 25 26 27 30 public class SnapShotQueryResult extends AbstractLateQueryResult { 31 32 public SnapShotQueryResult(Transaction transaction) { 33 super(transaction); 34 } 35 36 public void loadFromClassIndex(final YapClass clazz) { 37 createSnapshot(classIndexIterable(clazz)); 38 } 39 40 public void loadFromClassIndexes(final YapClassCollectionIterator classCollectionIterator) { 41 createSnapshot(classIndexesIterable(classCollectionIterator)); 42 } 43 44 public void loadFromQuery(final QQuery query) { 45 final Iterator4 _iterator = query.executeSnapshot(); 46 _iterable = new Iterable4() { 47 public Iterator4 iterator() { 48 _iterator.reset(); 49 return _iterator; 50 } 51 }; 52 } 53 54 private void createSnapshot(Iterable4 iterable) { 55 final Tree ids = TreeInt.addAll(null, new IntIterator4Adaptor(iterable)); 56 _iterable = new Iterable4() { 57 public Iterator4 iterator() { 58 return new TreeKeyIterator(ids); 59 } 60 61 }; 62 } 63 64 } 65 | Popular Tags |