db4o 8.0

com.db4o.defragment
Class DatabaseIdMapping

java.lang.Object
  extended by com.db4o.defragment.AbstractIdMapping
      extended by 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 the InMemoryIdMapping.

See Also:
Defragment

Constructor Summary
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
 int addressForId(int id)
          returns the slot address for an ID
 void close()
          Shuts down the mapping after use.
 void commit()
           
 void mapId(int id, com.db4o.internal.slots.Slot slot)
          Maps an ID to a slot
 int mappedId(int oldID)
          Returns a previously registered mapping ID for the given ID if it exists.
 void open()
          Prepares the mapping for use.
 com.db4o.foundation.Visitable<com.db4o.internal.slots.SlotChange> slotChanges()
          provides a Visitable of all mappings of IDs to slots.
 
Methods inherited from class com.db4o.defragment.AbstractIdMapping
mapId
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 node
commitFrequency - 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.

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,
                  com.db4o.internal.slots.Slot slot)
Description copied from interface: IdMapping
Maps an ID to a slot


slotChanges

public com.db4o.foundation.Visitable<com.db4o.internal.slots.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()

db4o 8.0

Copyright 2009 Versant Corporation. All rights reserved.