Package com.db4o.defragment
Class DatabaseIdMapping
- java.lang.Object
-
- com.db4o.defragment.AbstractIdMapping
-
- com.db4o.defragment.DatabaseIdMapping
-
- All Implemented Interfaces:
IdMapping
public class DatabaseIdMapping extends AbstractIdMapping
Database based mapping for IDs during a defragmentation run. Use this mapping to keep memory consumption lower than when using theInMemoryIdMapping
.- See Also:
Defragment
-
-
Constructor Summary
Constructors Constructor Description DatabaseIdMapping(java.lang.String fileName)
Will maintain the ID mapping as a BTree in the file with the given path.DatabaseIdMapping(java.lang.String fileName, int nodeSize, int commitFrequency)
Will maintain the ID mapping as a BTree in the file with the given path.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
addressForId(int id)
returns the slot address for an IDvoid
close()
Shuts down the mapping after use.void
commit()
void
mapId(int id, Slot slot)
Maps an ID to a slotprotected void
mapNonClassIDs(int origID, int mappedID)
int
mappedId(int oldID)
Returns a previously registered mapping ID for the given ID if it exists.void
open()
Prepares the mapping for use.Visitable<SlotChange>
slotChanges()
provides a Visitable of all mappings of IDs to slots.-
Methods inherited from class com.db4o.defragment.AbstractIdMapping
mapId, mappedClassID
-
-
-
-
Constructor Detail
-
DatabaseIdMapping
public DatabaseIdMapping(java.lang.String fileName)
Will maintain the ID mapping as a BTree in the file with the given path. If a file exists in this location, it will be DELETED. Node size and cache height of the tree will be the default values used by the BTree implementation. The tree will never commit.- Parameters:
fileName
- The location where the BTree file should be created.
-
DatabaseIdMapping
public DatabaseIdMapping(java.lang.String fileName, int nodeSize, int commitFrequency)
Will maintain the ID mapping as a BTree in the file with the given path. If a file exists in this location, it will be DELETED.- Parameters:
fileName
- The location where the BTree file should be created.nodeSize
- The size of a BTree nodecommitFrequency
- The number of inserts after which a commit should be issued (<=0: never commit)
-
-
Method Detail
-
mappedId
public int mappedId(int oldID)
Description copied from interface:IdMapping
Returns a previously registered mapping ID for the given ID if it exists.- Returns:
- The mapping ID for the given original ID or 0, if none has been registered.
-
mapNonClassIDs
protected void mapNonClassIDs(int origID, int mappedID)
- Specified by:
mapNonClassIDs
in classAbstractIdMapping
-
open
public void open() throws java.io.IOException
Description copied from interface:IdMapping
Prepares the mapping for use.- Throws:
java.io.IOException
-
close
public void close()
Description copied from interface:IdMapping
Shuts down the mapping after use.
-
mapId
public void mapId(int id, Slot slot)
Description copied from interface:IdMapping
Maps an ID to a slot
-
slotChanges
public Visitable<SlotChange> slotChanges()
Description copied from interface:IdMapping
provides a Visitable of all mappings of IDs to slots.
-
addressForId
public int addressForId(int id)
Description copied from interface:IdMapping
returns the slot address for an ID
-
commit
public void commit()
-
-