1 21 package com.db4o.test; 22 23 import com.db4o.*; 24 import com.db4o.query.*; 25 26 public class HidingField { 27 28 public String name; 29 30 public void store() { 31 ExtendHidingField ehf = new ExtendHidingField(); 32 ehf.name = "child"; 33 ehf.setParentName("parent"); 34 Test.store(ehf); 35 } 36 37 public void test() { 38 Query q = Test.query(); 39 q.constrain(ExtendHidingField.class); 40 q.descend("name").constrain("child"); 41 ObjectSet objectSet = q.execute(); 42 System.out.println(objectSet.size()); 43 while (objectSet.hasNext()) { 44 System.out.println(objectSet.next()); 45 } 46 47 q = Test.query(); 48 q.constrain(ExtendHidingField.class); 49 q.constrain(new Evaluation() { 50 51 public void evaluate(Candidate candidate) { 52 ExtendHidingField ehf = (ExtendHidingField) candidate 53 .getObject(); 54 candidate.include("child".equals(ehf.name)); 55 } 56 }); 57 objectSet = q.execute(); 58 System.out.println(objectSet.size()); 59 while (objectSet.hasNext()) { 60 System.out.println(objectSet.next()); 61 } 62 } 63 64 public void setParentName(String name) { 65 this.name = name; 66 } 67 68 public String toString() { 69 return "HidingField " + name; 70 } 71 72 public static class ExtendHidingField extends HidingField { 73 74 public String name; 75 76 public String toString() { 77 return super.toString() + " ExtendHidingField " + name; 78 } 79 } 80 } 81 | Popular Tags |