|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectcom.coyotegulch.jisp.ObjectDatabaseFile
com.coyotegulch.jisp.IndexedObjectDatabase
public class IndexedObjectDatabase
The IndexedObjectDatabase class provides a mechanism for
using a key value to an object serialized to a file.
A IndexedObjectDatabase object encapsulates access to a
ObjectDatabaseFile via a set of ObjectIndexs.
When an object is stored, it is associated with a key value by storing the
key and an object reference in each attached ObjectIndex.
Objects may then be retrieved either by providing a key and index pair,
or through an iterator created for an index associated with the database.
Rationale: The Java Database Connection (JDBC) is
often overkill for many applications. Sun designed JDBC to access
enterprise-level database systems, such as DB2, SQL Server, and Oracle.
Those systems, while very flexible and expansive, come with a high
price tag, both in terms of system requirements and database overhead.
BTreeDatabase provides a simpler tool for associating
"key" information with data in external storage.
BTreeIndex,
DatabaseException,
KeyObject,
ObjectIndex| Field Summary |
|---|
| Fields inherited from class com.coyotegulch.jisp.ObjectDatabaseFile |
|---|
DEL_LIST_END, IS_ACTIVE, IS_DELETED, m_dataFile, m_fileName, m_filter, m_firstDeleted |
| Constructor Summary | |
|---|---|
IndexedObjectDatabase(java.lang.String filename,
boolean is_new)
Opens an existing IndexedObjectDatabase, using a supplied file name. |
|
| Method Summary | |
|---|---|
void |
attachIndex(ObjectIndex index)
Attaches an index object to this database. |
void |
insert(KeyObject[] key,
java.io.Serializable obj)
Write a new object to the database, associating it with the provided keys. |
java.lang.Object |
read(IndexIterator iterator)
Read the object associated with a given iterator. |
java.lang.Object |
read(KeyObject key,
ObjectIndex index)
Read the object associated with a given key. |
void |
remove(KeyObject[] key)
Delete the record associated with a given key. |
void |
removeIndex(ObjectIndex index)
Removes the association of an index with this database. |
void |
write(KeyObject[] key,
java.io.Serializable obj)
Writes an object to the database, associating it with the provided key, replacing an existing object with a new one. |
| Methods inherited from class com.coyotegulch.jisp.ObjectDatabaseFile |
|---|
assignFilter, close, compact, createObjectInputStream, createObjectOutputStream, delete, getFD, getFilePointer, length, readObject, rewind, rewriteObject, seek, skip, writeObject |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public IndexedObjectDatabase(java.lang.String filename,
boolean is_new)
throws java.io.IOException
IndexedObjectDatabase, using a supplied file name.
filename - The name of an external database file containing serialized objects.
If filename exists, it is opened; otherwise, the constructor
creates the file and initializes it.
java.io.IOException - when an I/O exception is thrown by an underlying java.io.* class| Method Detail |
|---|
public void attachIndex(ObjectIndex index)
index - An ObjectIndex to be associated with this database.ObjectIndexpublic void removeIndex(ObjectIndex index)
index - An ObjectIndex that should no longer be associated with this database.ObjectIndex
public void insert(KeyObject[] key,
java.io.Serializable obj)
throws java.io.IOException,
java.lang.ClassNotFoundException
key - The key values associated with obj. There must be
one key for each attached index; the keys are associated with
the indexes in order of attachment; in other words, the first key
is associated with the first index attached, etc.obj - The object to be stored in the database.
java.io.IOException - when an I/O exception is thrown by an underlying java.io.* class
java.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected type
DatabaseException - when an error occurs during database processingDatabaseException,
KeyObject
public void write(KeyObject[] key,
java.io.Serializable obj)
throws java.io.IOException,
java.lang.ClassNotFoundException
key - key values associated with obj. There must be
one key for each attached index; the keys are associated with
the indexes in order of attachment; in other words, the first key
is associated with the first index attached, etc.obj - record object to be stored in the database.
java.io.IOException - when an I/O exception is thrown by an underlying java.io.* class
java.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected type
DatabaseException - when an error occurs during database processingDatabaseException,
KeyObject
public java.lang.Object read(KeyObject key,
ObjectIndex index)
throws java.io.IOException,
java.lang.ClassNotFoundException
key - key identifying the record to be readindex - index used to retrieve the object by key.
key, or null
if no such object could be found.
java.io.IOException - when an I/O exception is thrown by an underlying java.io.* class
java.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected type
DatabaseException - when an error occurs during database processingDatabaseException,
KeyObject
public java.lang.Object read(IndexIterator iterator)
throws java.io.IOException,
java.lang.ClassNotFoundException
iterator - a BTreeIterator pointing to the requested record
iterator, or null
if the iterator was invalid or no such record could be found.
java.io.IOException - when an I/O exception is thrown by an underlying java.io.* class
java.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected type
DatabaseException - when an error occurs during database processingDatabaseException,
BTreeIterator,
KeyObject
public void remove(KeyObject[] key)
throws java.io.IOException,
DatabaseException,
java.lang.ClassNotFoundException
key - array of keys identifying the record to be deleted.index - index used to retrive the object by key.
java.io.IOException - when an I/O exception is thrown by an underlying java.io.* class
java.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected type
DatabaseException - when an error occurs during database processingDatabaseException,
KeyObject
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||