KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mckoi > database > BlobStoreInterface


1 /**
2  * com.mckoi.database.BlobStoreInterface 21 Jan 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.database;
26
27 import java.io.IOException JavaDoc;
28 import com.mckoi.database.global.Ref;
29
30 /**
31  * A very restricted interface for accessing a blob store. This is used by a
32  * MasterTableDataSource implementation to query and resolve blob information.
33  *
34  * @author Tobias Downer
35  */

36
37 public interface BlobStoreInterface {
38
39   /**
40    * Given a large object reference identifier, generates a Ref implementation
41    * that provides access to the information in the large object. The Ref
42    * implementation returned by this object is a read-only static object.
43    * This may return either a BlobRef or a ClobRef object depending on the
44    * type of the object.
45    */

46   Ref getLargeObject(long reference_id) throws IOException JavaDoc;
47
48   /**
49    * Tells the BlobStore that a static reference has been established in a
50    * table to the blob referenced by the given id. This is used to count
51    * references to a blob, and possibly clean up a blob if there are no
52    * references remaining to it.
53    */

54   void establishReference(long reference_id);
55   
56   /**
57    * Tells the BlobStore that a static reference has been released to the
58    * given blob. This would typically be called when the row in the database
59    * is removed.
60    */

61   void releaseReference(long reference_id);
62   
63 }
64
65
Popular Tags