01: ///////////////////////////////////////////////////////////////////////////////
02: //
03: // Copyright (C) 2003-@year@ by Thomas M. Hazel, MyOODB (www.myoodb.org)
04: //
05: // All Rights Reserved
06: //
07: // This program is free software; you can redistribute it and/or modify
08: // it under the terms of the GNU General Public License and GNU Library
09: // General Public License as published by the Free Software Foundation;
10: // either version 2, or (at your option) any later version.
11: //
12: // This program is distributed in the hope that it will be useful,
13: // but WITHOUT ANY WARRANTY; without even the implied warranty of
14: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: // GNU General Public License and GNU Library General Public License
16: // for more details.
17: //
18: // You should have received a copy of the GNU General Public License
19: // and GNU Library General Public License along with this program; if
20: // not, write to the Free Software Foundation, 675 Mass Ave, Cambridge,
21: // MA 02139, USA.
22: //
23: ///////////////////////////////////////////////////////////////////////////////
24: package org.myoodb.core;
25:
26: import java.io.*;
27:
28: public abstract interface AbstractCluster {
29: public void setLock(AbstractLock lock);
30:
31: public AbstractLock getLock();
32:
33: public void setModificationTime(long time);
34:
35: public long getModificationTime();
36:
37: public AbstractObjectContainer getContainer();
38:
39: public void prepare(AbstractTransaction tx) throws IOException;
40:
41: public void commit(AbstractTransaction tx) throws IOException;
42:
43: public void abort(AbstractTransaction tx) throws IOException;
44:
45: public boolean delete(AbstractTransaction tx) throws IOException;
46:
47: public void write() throws IOException;
48: }
|