1 21 package com.db4o.test; 22 23 import com.db4o.*; 24 import com.db4o.ext.*; 25 import com.db4o.query.*; 26 27 28 public class PeekPersisted { 29 30 public String name; 31 32 public PeekPersisted child; 33 34 public void storeOne(){ 35 PeekPersisted current = this; 36 current.name = "1"; 37 for (int i = 2; i < 11; i++) { 38 current.child = new PeekPersisted(); 39 current.child.name = "" + i; 40 current = current.child; 41 } 42 } 43 44 public void test(){ 45 Query q = Test.query(); 46 q.constrain(PeekPersisted.class); 47 q.descend("name").constrain("1"); 48 ObjectSet objectSet = q.execute(); 49 PeekPersisted pp = (PeekPersisted)objectSet.next(); 50 for (int i = 0; i < 10; i++) { 51 peek(pp, i); 52 } 53 } 54 55 private void peek(PeekPersisted original, int depth){ 56 ExtObjectContainer oc = Test.objectContainer(); 57 PeekPersisted peeked = (PeekPersisted )oc.peekPersisted(original, depth, true); 58 Test.ensure(peeked != null); 59 Test.ensure(! oc.isStored(peeked)); 60 for (int i = 0; i <= depth; i++) { 61 Test.ensure(peeked != null); 62 Test.ensure(! oc.isStored(peeked)); 63 peeked = peeked.child; 64 } 65 Test.ensure(peeked == null); 66 } 67 68 } 69 | Popular Tags |