Persistent Classes

Person.java
01/* Copyright (C) 2007 db4objects Inc. http://www.db4o.com */ 02 03package com.db4odoc.nqcollection; 04 05 06public interface Person { 07 08 public String getName(); 09 10}
Pilot.java
01/* Copyright (C) 2004 - 2007 db4objects Inc. http://www.db4o.com */ 02 03package com.db4odoc.nqcollection; 04 05public class Pilot implements Person { 06 private String name; 07 08 private int points; 09 10 public Pilot(String name, int points) { 11 this.name = name; 12 this.points = points; 13 } 14 15 public String getName() { 16 return name; 17 } 18 19 public void setName(String name) { 20 this.name = name; 21 } 22 23 public int getPoints() { 24 return points; 25 } 26 27 public boolean equals(Object obj) { 28 if (obj instanceof Pilot) { 29 return (((Pilot) obj).getName().equals(name) && 30 ((Pilot) obj).getPoints() == points); 31 } 32 return false; 33 } 34 35 public String toString() { 36 return name + "/" + points; 37 } 38 39 public int hashCode() { 40 return name.hashCode() + points; 41 } 42}
Trainee.java
01/* Copyright (C) 2007 db4objects Inc. http://www.db4o.com */ 02 03package com.db4odoc.nqcollection; 04 05 06public class Trainee implements Person { 07 08 private String name; 09 private Pilot instructor; 10 11 public Trainee(String name, Pilot pilot) { 12 this.name = name; 13 this.instructor = pilot; 14 } 15 16 public String getName() { 17 return name; 18 } 19 20 public Pilot getInstructor() { 21 return instructor; 22 } 23 24 public String toString() { 25 return name + "(" + instructor + ")"; 26 } 27}