|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.revusky.oreo.AbstractDataSource | +--com.revusky.oreo.AbstractMutableDataSource | +--com.revusky.oreo.inmemory.InMemoryRecordSet
A simple implementation of the com.revusky.oreo.MutableDataSource interface. All records are kept in an flat array all in RAM and persisted to a flat-file. In configuring this file in XML, you only have to specify 2 properties: STORE, which indicates a file location to persist to. You can optionally indicate COMPACT_FREQUENCY, which says how frequently to rewrite the entire store in a compact form.
Constructor Summary | |
InMemoryRecordSet()
|
Method Summary | |
void |
close()
A method that should be called to free any resources associated with the data source. |
void |
delete(Record record)
Delete a record |
Record |
get(java.lang.String type,
java.lang.Object key)
|
void |
init(java.util.Properties props)
A method that initializes a DataSource with a set of initialization properties. |
void |
insert(Record record)
Adds a new record to the managed pool. |
java.util.List |
keys(java.lang.String type)
|
void |
loadRecords(java.io.ObjectInput input)
Slurp the records into this InMemoryRecordSet object with a stream-based idiom. |
protected void |
loadRecordsFromFlatFile(java.lang.String filename)
Wrapper around loadRecords() to read records from a flat file. |
protected java.lang.Object |
nextKey()
Returns the next available primary key, assuming that it is an integer. |
void |
playEvent(DataEvent event)
"play" an event This will be mostly used in restarting an app and reconstructing the state of the data from logs. |
java.util.List |
select(RecordFilter filter)
Fetches a list of records matching filter. |
void |
update(Record oldRec,
Record newRec)
Replaces an existing version of a record with a new updated version. |
Methods inherited from class com.revusky.oreo.AbstractMutableDataSource |
addDataListener, fireDataEvent, freeze, freeze, getRecords, markStale, normalizeKey, removeDataListener |
Methods inherited from class com.revusky.oreo.AbstractDataSource |
get, getName, keys, wipeCache |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.revusky.oreo.DataSource |
get, getName, keys, wipeCache |
Constructor Detail |
public InMemoryRecordSet() throws java.io.IOException
Method Detail |
public void loadRecords(java.io.ObjectInput input) throws java.io.IOException
public void update(Record oldRec, Record newRec) throws java.io.IOException
MutableDataSource
com.revusky.oreo.MutableDataSource
oldRec
- the record to replace.newRec
- the new record.java.io.IOException
- thrown in case of any other database or
communication error.public void insert(Record record) throws java.io.IOException
MutableDataSource
com.revusky.oreo.MutableDataSource
rec
- the record to addDuplicateRecordException
- if another record already exists
with same primary key as 'rec'.java.io.IOException
- if the record cannot be
initialized (i.e. has missing fields or invalid
field values, etc.), or in case of a low-level error.public java.util.List select(RecordFilter filter) throws java.io.IOException
MutableDataSource
com.revusky.oreo.MutableDataSource
filter
- the record filter, or null.public Record get(java.lang.String type, java.lang.Object key) throws java.io.IOException
com.revusky.oreo.DataSource
type
- the type of the record, if this is null,
then any type will do.key
- the lookup keypublic void init(java.util.Properties props) throws java.io.IOException
DataSource
init
in class AbstractDataSource
public java.util.List keys(java.lang.String type) throws java.io.IOException
com.revusky.oreo.DataSource
type
- the record type we are interested,
under some circumstances, this may be null.public void delete(Record record) throws java.io.IOException
MutableDataSource
com.revusky.oreo.MutableDataSource
the
- record to delete.public void close() throws java.io.IOException
DataSource
close
in class AbstractDataSource
protected java.lang.Object nextKey()
public void playEvent(DataEvent event) throws java.io.IOException
MutableDataSource
protected void loadRecordsFromFlatFile(java.lang.String filename) throws java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |