Package simpleorm.dataset
Class SDataSet
java.lang.Object
simpleorm.dataset.SDataSet
- All Implemented Interfaces:
Serializable
A DataSet contains records of various types together with their meta data.
The records are indexed by their type and primary keys, and so can be efficiently retrieved.
A list of dirty records that need to be updated is also maintained.
A DataSet is normally associated with a SSession/Jdbc, and is accessed indirectly via the SSessionJdbc methods. But a DataSet can also be accessed directly when it is detached from the SSession.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
attach
(SRecordInstance rinst) Deprecated.void
clone()
Clone the dataset.<RI extends SRecordInstance>
RIcreate
(SRecordMeta<RI> rmeta, Object... keys) static <RI extends SRecordInstance>
RIcreateDetachedInstance
(SRecordMeta<RI> rmeta) Deprecated.<RI extends SRecordInstance>
RIcreateWithNullKey
(SRecordMeta<RI> rmeta) Used if no key is known, and one is to be provided later.void
destroy()
void
Dumps out the entire cache of records for this connection.<RI extends SRecordInstance>
RIfind
(SRecordMeta<RI> rmeta, Object... keys) <RI extends SRecordInstance>
RIfindOrCreate
(SRecordMeta<RI> rmeta, Object... keys) <RI extends SRecordInstance>
RIfindUsingPrototype
(RI rinst) Deprecated.Ordered list of SRecordInstances to flush and purge.boolean
<RI extends SRecordInstance>
RInewInstanceNotInDataSet
(SRecordMeta<RI> rmeta) Deprecated.void
pokeIntoDataSet
(SRecordInstance rinst) Deprecated.void
purge()
Remove all records from cache and update list.<I extends SRecordInstance,
R extends SRecordInstance>
List<R>queryReferencing
(I refed, SFieldReference<I> ref) Return all records in dataset where rec.ref == ref.void
removeRecord
(SRecordInstance rinst) Remove record from cache, does not flag it for deletion.void
setSession
(SSessionI session) toString()
-
Constructor Details
-
SDataSet
public SDataSet()
-
-
Method Details
-
findOrCreate
-
find
-
create
-
createWithNullKey
Used if no key is known, and one is to be provided later. -
removeRecord
Remove record from cache, does not flag it for deletion. -
queryAllRecords
-
queryReferencing
public <I extends SRecordInstance,R extends SRecordInstance> List<R> queryReferencing(I refed, SFieldReference<I> ref) Return all records in dataset where rec.ref == ref. Ie. the inverse of findRecrod. -
isAttached
public boolean isAttached() -
clearDirtyList
public void clearDirtyList() -
getDirtyRecords
Ordered list of SRecordInstances to flush and purge. -
purge
public void purge()Remove all records from cache and update list. -
destroy
public void destroy() -
clone
Clone the dataset. Useful befor attempting to attach and commit to recover from errors. (See LongTransactionTest).Curent implementation uses slow serialization alg, should really use clone()/able.
-
newInstanceNotInDataSet
Deprecated.Create a new instance of this record, used by SSession during the fiddly doFindOrCreate etc. -
findUsingPrototype
Deprecated. -
pokeIntoDataSet
Deprecated. -
getLogger
-
createDetachedInstance
@Deprecated public static <RI extends SRecordInstance> RI createDetachedInstance(SRecordMeta<RI> rmeta) Deprecated.Create a new instance of this record, unattached to a dataset. Used for backward compatibility, records normally ONLY live within a DataSet. Detached records are marked as new. -
attach
Deprecated.Attach rinst into the dataset, checking that it is not already there. References should be null. Only for compatibility with 2.*, normally records only normal created within data sets. -
dumpDataSet
public void dumpDataSet()Dumps out the entire cache of records for this connection. For debugging wierd bugs only. -
toString
-
getSession
-
setSession
-