/* * Main.java * */ package netukar.animalia.db4o; import com.db4o.Db4oEmbedded; import com.db4o.ObjectContainer; import com.db4o.ObjectSet; import com.db4o.query.Predicate; import java.io.File; import netukar.animalia.Animal; import netukar.animalia.Conservation; /** * * @author Radovan Netuka */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { new File("animals").delete(); ObjectContainer db = Db4oEmbedded.openFile("animals"); try { Animal beaver = new Animal("castor", "fiber"); beaver.setConservation(Conservation.LC); Animal orangutan = new Animal("pongo", "pygmaeus"); db.store(beaver); db.store(orangutan); db.commit(); // Query with object prototype Animal prototype = new Animal(); prototype.setGenus("castor"); prototype.setConservation(Conservation.LC); ObjectSet result = db.queryByExample(prototype); for (Animal animal : result) { System.out.println(animal.getGenus() + " " + animal.getSpecies()); } // Query with predicate ObjectSet result2 = db.query(new Predicate() { @Override public boolean match(Animal animal) { return animal.getGenus().equals("pongo"); } }); for (Animal animal : result2) { System.out.println(animal.getGenus() + " " + animal.getSpecies()); } } finally { db.close(); } } /*private class AnimalPredicate extends Predicate { }*/ }