packtpub.celebrities.data;
import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.query.Predicate;
import java.util.List;
import org.example.myapp.model.Celebrity;
import org.example.myapp.model.Occupation;
import org.example.myapp.util.Formats;
public class ObjectDataSource implements IDataSource
{
private ObjectContainer db;
public ObjectDataSource()
{
db = Db4o.openFile("C:\\t5\\data\\celebrities.dat");
addCelebrity(new Celebrity("Britney", "Spearce",
Formats.parseDate("12/02/1981"), Occupation.SINGER));
addCelebrity(new Celebrity("Bill", "Clinton",
Formats.parseDate("08/19/1946"),
Occupation.POLITICIAN));
}
Creating a Real Data Source with db4o
[ 256 ]
public List
getAllCelebrities()
{
return db.query(Celebrity.class);
}
public Celebrity getCelebrityById(long id)
{
Celebrity proto = new Celebrity();
proto.setId(id);
ObjectSet result = db.get(proto);
if (result.hasNext()) return (Celebrity)result.next();
return null;
}
public void addCelebrity(Celebrity c)
{
ObjectSet result = db.get(c);
if (!result.hasNext())
{
db.set(c);
}
}
public List getRange(final int indexFrom,
final int indexTo)
{
List result = db.
Pages:
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314