Package com.db4o.defragment
Class Defragment
- java.lang.Object
- 
- com.db4o.defragment.Defragment
 
- 
 public class Defragment extends java.lang.Objectdefragments database files.
 db4o structures storage inside database files as free and occupied slots, very much like a file system - and just like a file system it can be fragmented.
 The simplest way to defragment a database file:
 Defragment.defrag("sample.db4o");
 This will move the file to "sample.db4o.backup", then create a defragmented version of this file in the original position, using a temporary file "sample.db4o.mapping". If the backup file already exists, this will throw an exception and no action will be taken.
 For more detailed configuration of the defragmentation process, provide a DefragmentConfig instance:
 DefragmentConfig config=new DefragmentConfig("sample.db4o","sample.bap",new BTreeIDMapping("sample.map"));
 config.forceBackupDelete(true);
 config.storedClassFilter(new AvailableClassFilter());
 config.db4oConfig(db4oConfig);
 Defragment.defrag(config);
 This will move the file to "sample.bap", then create a defragmented version of this file in the original position, using a temporary file "sample.map" for BTree mapping. If the backup file already exists, it will be deleted. The defragmentation process will skip all classes that have instances stored within the db4o file, but that are not available on the class path (through the current classloader). Custom db4o configuration options are read from theConfigurationpassed as db4oConfig. Note: For some specific, non-default configuration settings like UUID generation, etc., you must pass an appropriate db4o configuration, just like you'd use it within your application for normal database operation.
- 
- 
Constructor SummaryConstructors Constructor Description Defragment()
 - 
Method SummaryAll Methods Static Methods Concrete Methods Modifier and Type Method Description static voiddefrag(DefragmentConfig config)Renames the file at the configured original path to the configured backup path and then builds a defragmented version of the file in the original place.static voiddefrag(DefragmentConfig config, DefragmentListener listener)Renames the file at the configured original path to the configured backup path and then builds a defragmented version of the file in the original place.static voiddefrag(java.lang.String origPath)Renames the file at the given original path to a backup file and then builds a defragmented version of the file in the original place.static voiddefrag(java.lang.String origPath, java.lang.String backupPath)Renames the file at the given original path to the given backup file and then builds a defragmented version of the file in the original place.
 
- 
- 
- 
Method Detail- 
defragpublic static void defrag(java.lang.String origPath) throws java.io.IOExceptionRenames the file at the given original path to a backup file and then builds a defragmented version of the file in the original place.- Parameters:
- origPath- The path to the file to be defragmented.
- Throws:
- java.io.IOException- if the original file cannot be moved to the backup location
 
 - 
defragpublic static void defrag(java.lang.String origPath, java.lang.String backupPath) throws java.io.IOExceptionRenames the file at the given original path to the given backup file and then builds a defragmented version of the file in the original place.- Parameters:
- origPath- The path to the file to be defragmented.
- backupPath- The path to the backup file to be created.
- Throws:
- java.io.IOException- if the original file cannot be moved to the backup location
 
 - 
defragpublic static void defrag(DefragmentConfig config) throws java.io.IOException Renames the file at the configured original path to the configured backup path and then builds a defragmented version of the file in the original place.- Parameters:
- config- The configuration for this defragmentation run.
- Throws:
- java.io.IOException- if the original file cannot be moved to the backup location
 
 - 
defragpublic static void defrag(DefragmentConfig config, DefragmentListener listener) throws java.io.IOException Renames the file at the configured original path to the configured backup path and then builds a defragmented version of the file in the original place.- Parameters:
- config- The configuration for this defragmentation run.
- listener- A listener for status notifications during the defragmentation process.
- Throws:
- java.io.IOException- if the original file cannot be moved to the backup location
 
 
- 
 
-