com.niggle.data.jdbc
Class JDBCBackedRecordSet
java.lang.Object
|
+--java.rmi.server.RemoteObject
|
+--java.rmi.server.RemoteServer
|
+--java.rmi.server.UnicastRemoteObject
|
+--com.niggle.data.AbstractDataSource
|
+--com.niggle.data.AbstractMutableDataSource
|
+--com.niggle.data.jdbc.JDBCBackedRecordSet
- All Implemented Interfaces:
- DataChangeNotifier, DataListener, DataSource, java.util.EventListener, MutableDataSource, java.rmi.Remote, java.io.Serializable
- public class JDBCBackedRecordSet
- extends AbstractMutableDataSource
- implements DataListener
A class that is essentially a facade in front of an external
relational database table
- See Also:
- Serialized Form
Fields inherited from class java.rmi.server.RemoteObject |
ref |
Method Summary |
void |
delete(java.lang.String type,
java.lang.Object key)
Delete a record given its primary lookup key. |
Record |
get(java.lang.String type,
java.lang.Object key)
|
void |
init(java.util.Properties props)
TODO |
void |
insert(Record rec)
Adds a new record to the managed pool. |
java.util.List |
keys(java.lang.String type)
|
void |
recordDeleted(DataEvent event)
invoked when the RecordManager whose events
we are listening to has just deleted a record. |
void |
recordInserted(DataEvent event)
invoked when the RecordManager whose events
we are listening to has just inserted a new record. |
void |
recordUpdated(DataEvent event)
invoked when the RecordManager whose events
we are listening to has just updated an existing record. |
java.util.List |
select(java.lang.String type,
RecordFilter filter)
Fetches a list of records matching filter. |
void |
update(Record rec)
Replaces an existing version of a record with a new updated version. |
void |
wipeCache()
If this data source is backed by some external mechanism,
like an RDBMS, wipes the in-memory cache, if one is being
maintained. |
Methods inherited from class com.niggle.data.AbstractMutableDataSource |
addDataListener, close, delete, fireDataEvent, forceUpdate, freeze, getRecords, markStale, normalizeKey, removeDataListener, select |
Methods inherited from class java.rmi.server.UnicastRemoteObject |
clone, exportObject, exportObject, exportObject, unexportObject |
Methods inherited from class java.rmi.server.RemoteServer |
getClientHost, getLog, setLog |
Methods inherited from class java.rmi.server.RemoteObject |
equals, getRef, hashCode, toString, toStub |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
JDBCBackedRecordSet
public JDBCBackedRecordSet()
throws java.io.IOException
recordDeleted
public void recordDeleted(DataEvent event)
throws java.io.IOException
- invoked when the RecordManager whose events
we are listening to has just deleted a record.
- Specified by:
recordDeleted
in interface DataListener
recordInserted
public void recordInserted(DataEvent event)
throws java.io.IOException
- invoked when the RecordManager whose events
we are listening to has just inserted a new record.
- Specified by:
recordInserted
in interface DataListener
recordUpdated
public void recordUpdated(DataEvent event)
throws java.io.IOException
- invoked when the RecordManager whose events
we are listening to has just updated an existing record.
- Specified by:
recordUpdated
in interface DataListener
init
public void init(java.util.Properties props)
throws java.io.IOException
- Description copied from class:
AbstractMutableDataSource
- TODO
- Overrides:
init
in class AbstractMutableDataSource
delete
public void delete(java.lang.String type,
java.lang.Object key)
throws java.io.IOException
- Description copied from interface:
MutableDataSource
- Delete a record given its primary lookup key.
- Following copied from interface:
com.niggle.data.MutableDataSource
- Parameters:
type
- the record type we want to delete
If this is null, we delete indistinctly with no sanity check.key
- the key to the object to delete.- Throws:
MissingRecordException
- thrown if the record to be
deleted could not be found.DataException
- thrown if the key maps to more than
one record.java.io.IOException
- thrown in case of any other database or
communication error.
insert
public void insert(Record rec)
throws java.io.IOException
- Description copied from interface:
MutableDataSource
- Adds a new record to the managed pool.
- Following copied from interface:
com.niggle.data.MutableDataSource
- Parameters:
rec
- the record to add- Throws:
DuplicateRecordException
- 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.
update
public void update(Record rec)
throws java.io.IOException
- Description copied from interface:
MutableDataSource
- Replaces an existing version of a record with a new updated version.
Automatically replaces the previous version if it has not been
modified since the object was taken from the data source. A
ModifiedRecordException is thrown otherwise.
Not all underlying storage mediums will be able to support these
semantics. Check your implementation carefully.
- Following copied from interface:
com.niggle.data.MutableDataSource
- Parameters:
rec
- the new updated record.- Throws:
ModifiedRecordException
- thrown if the record was modified
by another process since rec was requested from a data source.java.io.IOException
- thrown in case of any other database or
communication error.
keys
public java.util.List keys(java.lang.String type)
throws java.io.IOException
- Following copied from interface:
com.niggle.data.DataSource
- Parameters:
type
- the record type we are interested,
under some circumstances, this may be null.- Returns:
- a list of all valid lookup keys that correspond
to a given record type.
get
public Record get(java.lang.String type,
java.lang.Object key)
throws java.io.IOException
- Following copied from interface:
com.niggle.data.DataSource
- Parameters:
type
- the type of the record, if this is null,
then any type will do.key
- the lookup key- Returns:
- a Record of the given type, with
the given lookup key. If the data source allows multiple records,
only returns the first one found. Use getRecords() in that situation.
returns null if none is found.
wipeCache
public void wipeCache()
- Description copied from interface:
MutableDataSource
- If this data source is backed by some external mechanism,
like an RDBMS, wipes the in-memory cache, if one is being
maintained.
- Overrides:
wipeCache
in class AbstractMutableDataSource
select
public java.util.List select(java.lang.String type,
RecordFilter filter)
throws java.io.IOException
- Description copied from interface:
MutableDataSource
- Fetches a list of records matching filter. If filter is null,
returns all the records in the container.
- Following copied from interface:
com.niggle.data.MutableDataSource
- Parameters:
the
- type of record we are interested in, possibly nullfilter
- the record filter, or null.- Returns:
- a List of all the records that are an instance of a
given class. If no records match the filter, an empty List.