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 SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidattach(SRecordInstance rinst) Deprecated.voidclone()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.voiddestroy()voidDumps 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.voidpokeIntoDataSet(SRecordInstance rinst) Deprecated.voidpurge()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.voidremoveRecord(SRecordInstance rinst) Remove record from cache, does not flag it for deletion.voidsetSession(SSessionI session) toString()
- 
Constructor Details- 
SDataSetpublic SDataSet()
 
- 
- 
Method Details- 
findOrCreate
- 
find
- 
create
- 
createWithNullKeyUsed if no key is known, and one is to be provided later.
- 
removeRecordRemove record from cache, does not flag it for deletion.
- 
queryAllRecords
- 
queryReferencingpublic <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.
- 
isAttachedpublic boolean isAttached()
- 
clearDirtyListpublic void clearDirtyList()
- 
getDirtyRecordsOrdered list of SRecordInstances to flush and purge.
- 
purgepublic void purge()Remove all records from cache and update list.
- 
destroypublic void destroy()
- 
cloneClone 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. 
- 
newInstanceNotInDataSetDeprecated.Create a new instance of this record, used by SSession during the fiddly doFindOrCreate etc.
- 
findUsingPrototypeDeprecated.
- 
pokeIntoDataSetDeprecated.
- 
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.
- 
attachDeprecated.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.
- 
dumpDataSetpublic void dumpDataSet()Dumps out the entire cache of records for this connection. For debugging wierd bugs only.
- 
toString
- 
getSession
- 
setSession
 
-