Search in sources :

Example 1 with FileMappedPageManager

use of com.revolsys.io.page.FileMappedPageManager in project com.revolsys.open by revolsys.

the class BPlusTreeMap method newTempDisk.

public static <K extends Comparable<K>, V> Map<K, V> newTempDisk(PageValueManager<K> keyManager, PageValueManager<V> valueManager) {
    final File file = FileUtil.newTempFile("temp", ".bplustree");
    final PageManager pageManager = new FileMappedPageManager(file);
    if (keyManager instanceof SerializablePageValueManager) {
        final SerializablePageValueManager<K> serializeableManager = (SerializablePageValueManager<K>) keyManager;
        keyManager = BPlusTreePageValueManager.newPageValueManager(pageManager, serializeableManager);
    }
    if (valueManager instanceof SerializablePageValueManager) {
        final SerializablePageValueManager<V> serializeableManager = (SerializablePageValueManager<V>) valueManager;
        valueManager = BPlusTreePageValueManager.newPageValueManager(pageManager, serializeableManager);
    }
    final Comparator<K> comparator = new ComparableComparator<>();
    final BPlusTreeMap<K, V> map = new BPlusTreeMap<>(pageManager, comparator, keyManager, valueManager);
    return map;
}
Also used : SerializablePageValueManager(com.revolsys.io.page.SerializablePageValueManager) PageManager(com.revolsys.io.page.PageManager) FileMappedPageManager(com.revolsys.io.page.FileMappedPageManager) MemoryPageManager(com.revolsys.io.page.MemoryPageManager) FilePageManager(com.revolsys.io.page.FilePageManager) FileMappedPageManager(com.revolsys.io.page.FileMappedPageManager) ComparableComparator(org.springframework.util.comparator.ComparableComparator) File(java.io.File)

Aggregations

FileMappedPageManager (com.revolsys.io.page.FileMappedPageManager)1 FilePageManager (com.revolsys.io.page.FilePageManager)1 MemoryPageManager (com.revolsys.io.page.MemoryPageManager)1 PageManager (com.revolsys.io.page.PageManager)1 SerializablePageValueManager (com.revolsys.io.page.SerializablePageValueManager)1 File (java.io.File)1 ComparableComparator (org.springframework.util.comparator.ComparableComparator)1