01: /*
02: This file is part of the PolePosition database benchmark
03: http://www.polepos.org
04:
05: This program is free software; you can redistribute it and/or
06: modify it under the terms of the GNU General Public License
07: as published by the Free Software Foundation; either version 2
08: of the License, or (at your option) any later version.
09:
10: This program is distributed in the hope that it will be useful,
11: but WITHOUT ANY WARRANTY; without even the implied warranty of
12: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13: GNU General Public License for more details.
14:
15: You should have received a copy of the GNU General Public
16: License along with this program; if not, write to the Free
17: Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
18: MA 02111-1307, USA. */
19:
20: package org.polepos.teams.prevayler.sepang;
21:
22: import org.polepos.circuits.sepang.*;
23: import org.polepos.teams.prevayler.*;
24:
25: /**
26: * @author Herkules
27: */
28: public class SepangPrevaylerDriver extends PrevaylerDriver implements
29: SepangDriver {
30:
31: private final SepangSystem _sepangSystem = (SepangSystem) _prevayler
32: .prevalentSystem();
33:
34: public void write() {
35: _prevayler.execute(new TreeCreationTransaction(setup()
36: .getTreeDepth()));
37: }
38:
39: public void read() {
40: Tree.traverse(_sepangSystem.tree(), new TreeVisitor() {
41: public void visit(Tree tree) {
42: addToCheckSum(tree.getDepth());
43: }
44: });
45: }
46:
47: public void read_hot() {
48: read();
49: }
50:
51: public void delete() {
52: _prevayler.execute(new TreeDeletionTransaction());
53: }
54:
55: protected Object prevalentSystem() {
56: return new SepangSystem();
57: }
58:
59: }
|