Class MapDbCollectionFactory
java.lang.Object
org.eclipse.rdf4j.collection.factory.mapdb.MapDbCollectionFactory
- All Implemented Interfaces:
AutoCloseable
,CollectionFactory
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static final class
protected static final class
protected class
Only create a disk based set once the contents are large enough that it starts to pay off. -
Field Summary
Modifier and TypeFieldDescriptionprotected long
protected org.mapdb.DB
protected final long
-
Constructor Summary
ConstructorDescriptionMapDbCollectionFactory
(long iterationCacheSyncThreshold) MapDbCollectionFactory
(long iterationCacheSyncThreshold, CollectionFactory delegate) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
createBindingSetKey
(BindingSet bindingSet, List<Function<BindingSet, Value>> getValues, ToIntFunction<BindingSet> hashOfBindingSetCalculator) <E> Map<BindingSetKey,
E> <T> List<T>
<K,
V> Map<K, V> <T> Queue<T>
<T> Set<T>
createSetOfBindingSets
(Supplier<MutableBindingSet> create, Function<String, Predicate<BindingSet>> getHas, Function<String, Function<BindingSet, Value>> getget, Function<String, BiConsumer<Value, MutableBindingSet>> getSet) Allows optimizations beyond what would otherwise be possible, regarding disk access and storage.protected void
init()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.collection.factory.api.CollectionFactory
hashAValue, hashOfBindingSetFuntion
-
Field Details
-
db
protected volatile org.mapdb.DB db -
colectionId
protected volatile long colectionId -
iterationCacheSyncThreshold
protected final long iterationCacheSyncThreshold
-
-
Constructor Details
-
MapDbCollectionFactory
public MapDbCollectionFactory(long iterationCacheSyncThreshold) -
MapDbCollectionFactory
-
-
Method Details
-
init
protected void init() -
createList
- Specified by:
createList
in interfaceCollectionFactory
- Type Parameters:
T
- of the list- Returns:
- a list that may be optimised and/or disk based
-
createValueList
- Specified by:
createValueList
in interfaceCollectionFactory
- Returns:
- a list that may be optimised and/or disk based for Values only
-
createSetOfBindingSets
public Set<BindingSet> createSetOfBindingSets(Supplier<MutableBindingSet> create, Function<String, Predicate<BindingSet>> getHas, Function<String, Function<BindingSet, Value>> getget, Function<String, BiConsumer<Value, MutableBindingSet>> getSet) Description copied from interface:CollectionFactory
Allows optimizations beyond what would otherwise be possible, regarding disk access and storage.- Specified by:
createSetOfBindingSets
in interfaceCollectionFactory
- Parameters:
create
- a supplier that makes bindingsets- Returns:
- a set that may be optimised and/or disk based
-
createSetOfBindingSets
- Specified by:
createSetOfBindingSets
in interfaceCollectionFactory
- Returns:
- a set that may be optimised and/or disk based
-
createSet
- Specified by:
createSet
in interfaceCollectionFactory
- Type Parameters:
T
- of the set- Returns:
- a set that may be optimised and/or disk based
-
createValueSet
- Specified by:
createValueSet
in interfaceCollectionFactory
- Returns:
- a set that may be optimised and/or disk based for Values
-
createMap
- Specified by:
createMap
in interfaceCollectionFactory
- Type Parameters:
K
- key typeV
- value type- Returns:
- a map
-
createValueKeyedMap
- Specified by:
createValueKeyedMap
in interfaceCollectionFactory
- Type Parameters:
V
- value type- Returns:
- a map
-
createQueue
- Specified by:
createQueue
in interfaceCollectionFactory
- Type Parameters:
T
- of the contents of the queue- Returns:
- a new queue
-
createValueQueue
- Specified by:
createValueQueue
in interfaceCollectionFactory
- Returns:
- a new queue
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCollectionFactory
- Throws:
RDF4JException
-
createGroupByMap
- Specified by:
createGroupByMap
in interfaceCollectionFactory
-
createBindingSetKey
public BindingSetKey createBindingSetKey(BindingSet bindingSet, List<Function<BindingSet, Value>> getValues, ToIntFunction<BindingSet> hashOfBindingSetCalculator) - Specified by:
createBindingSetKey
in interfaceCollectionFactory
-