org.mapdb / StoreDirectAbstract


abstract class StoreDirectAbstract : Store

Common utils for StoreDirect, StoreWAL and StoreCached


<init> StoreDirectAbstract(file: String?, volumeFactory: VolumeFactory, isThreadSafe: Boolean, concShift: Int, fileDeleteAfterClose: Boolean, checksum: Boolean, checksumHeader: Boolean, checksumHeaderBypass: Boolean)

Common utils for StoreDirect, StoreWAL and StoreCached


checksum val checksum: Boolean
checksumHeader val checksumHeader: Boolean
checksumHeaderBypass val checksumHeaderBypass: Boolean
closed val closed: AtomicBoolean
concShift val concShift: Int
dataTail var dataTail: Long

end of last record

file val file: String?
fileDeleteAfterClose val fileDeleteAfterClose: Boolean
headVol abstract val headVol: Volume
indexPages val indexPages: <ERROR CLASS>
isClosed open val isClosed: Boolean
isThreadSafe open val isThreadSafe: Boolean

returns true if this is configured to be thread safe

locks val locks: Array<ReadWriteLock?>
maxRecid var maxRecid: Long

maximal allocated recid

segmentCount val segmentCount: Int
segmentMask val segmentMask: Long
structuralLock val structuralLock: Lock?
volume abstract val volume: Volume
volumeExistsAtStart val volumeExistsAtStart: Boolean
volumeFactory val volumeFactory: VolumeFactory

Inherited Properties

isReadOnly abstract val isReadOnly: Boolean


allocateData fun allocateData(size: Int, recursive: Boolean): Long
allocateNewIndexPage abstract fun allocateNewIndexPage(): Long
allocateNewPage abstract fun allocateNewPage(): Long
allocateRecid fun allocateRecid(): Long
assertNotClosed fun assertNotClosed(): Unit
calculateChecksum fun calculateChecksum(): Long
calculateHeaderChecksum fun calculateHeaderChecksum(): Int
deserialize fun <R> deserialize(serializer: Serializer<R>, di: DataInput2, size: Long): R?
fileHeaderCheck fun fileHeaderCheck(): Unit
fileHeaderCompose fun fileHeaderCompose(): Long
freeSizeIncrement abstract fun freeSizeIncrement(increment: Long): Unit
getIndexVal abstract fun getIndexVal(recid: Long): Long
indexValCompose fun indexValCompose(size: Long, offset: Long, linked: Int, unused: Int, archive: Int): Long
indexValFlagArchive fun indexValFlagArchive(indexValue: Long): Boolean
indexValFlagLinked fun indexValFlagLinked(indexValue: Long): Boolean
indexValFlagUnused fun indexValFlagUnused(indexValue: Long): Boolean
loadIndexPages fun loadIndexPages(indexPages: <ERROR CLASS>): Unit
longStackMasterLinkOffset fun longStackMasterLinkOffset(size: Long): Long
longStackPut abstract fun longStackPut(masterLinkOffset: Long, value: Long, recursive: Boolean): Unit
longStackTake abstract fun longStackTake(masterLinkOffset: Long, recursive: Boolean): Long
recidToOffset fun recidToOffset(recid2: Long): Long
recidToSegment fun recidToSegment(recid: Long): Int
releaseData fun releaseData(size: Long, offset: Long, recursive: Boolean): Unit
releaseRecid fun releaseRecid(recid: Long): Unit
serialize fun <R> serialize(record: R?, serializer: Serializer<R>): DataOutput2?
setIndexVal abstract fun setIndexVal(recid: Long, value: Long): Unit
storeHeaderCompose fun storeHeaderCompose(): Int

Inherited Functions

close abstract fun close(): Unit
commit abstract fun commit(): Unit
compact abstract fun compact(): Unit
compareAndSwap abstract fun <R> compareAndSwap(recid: Long, expectedOldRecord: R?, newRecord: R?, serializer: Serializer<R>): Boolean
delete abstract fun <R> delete(recid: Long, serializer: Serializer<R>): Unit
fileLoad abstract fun fileLoad(): Boolean
preallocate abstract fun preallocate(): Long
put abstract fun <R> put(record: R?, serializer: Serializer<R>): Long
update abstract fun <R> update(recid: Long, record: R?, serializer: Serializer<R>): Unit
verify abstract fun verify(): Unit


StoreDirect class StoreDirect : StoreDirectAbstract, StoreBinary

Store which uses binary storage (file, memory buffer...) and updates records on place. It has memory allocator, so it reuses space freed by deletes and updates.

StoreWAL class StoreWAL : StoreDirectAbstract, StoreTx

StoreDirect with write ahead log