KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mckoi > store > MutableArea


1 /**
2  * com.mckoi.store.MutableArea 08 Jun 2003
3  *
4  * Mckoi SQL Database ( http://www.mckoi.com/database )
5  * Copyright (C) 2000, 2001, 2002 Diehl and Associates, Inc.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * Version 2 as published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License Version 2 for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * Version 2 along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19  *
20  * Change Log:
21  *
22  *
23  */

24
25 package com.mckoi.store;
26
27 import java.io.IOException JavaDoc;
28
29 /**
30  * An interface for an area that can be modified. Any changes made to an area
31  * may or may not be immediately reflected in already open areas with the same
32  * id. The specification does guarentee that after the 'checkOutAndClose'
33  * method is invoked that any new Area or MutableArea objects created by the
34  * backing store will contain the changes.
35  *
36  * @author Tobias Downer
37  */

38
39 public interface MutableArea extends Area {
40
41   /**
42    * Checks out all changes made to this area. This should be called after a
43    * series of updates have been made to the area and the final change is to
44    * be 'finalized'. When this method returns, any new Area or MutableArea
45    * objects created by the backing store will contain the changes made to this
46    * object. Any changes made to the Area may or may not be made to any
47    * already existing areas.
48    * <p>
49    * In a logging implementation, this may flush out the changes made to the
50    * area in a log.
51    */

52   void checkOut() throws IOException JavaDoc;
53
54   // ---------- Various put methods ----------
55

56   void put(byte b) throws IOException JavaDoc;
57
58   void put(byte[] buf, int off, int len) throws IOException JavaDoc;
59
60   void put(byte[] buf) throws IOException JavaDoc;
61
62   void putShort(short s) throws IOException JavaDoc;
63
64   void putInt(int i) throws IOException JavaDoc;
65
66   void putLong(long l) throws IOException JavaDoc;
67
68   void putChar(char c) throws IOException JavaDoc;
69
70 }
71
72
Popular Tags