Class WeakObjectRegistry<K,E extends K>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<E>
org.eclipse.rdf4j.sail.memory.model.WeakObjectRegistry<K,E>
- All Implemented Interfaces:
Iterable<E>
,Collection<E>
,Set<E>
An object registry that uses weak references to keep track of the stored objects. The registry can be used to
retrieve stored objects using another, equivalent object. As such, it can be used to prevent the use of duplicates in
another data structure, reducing memory usage. The objects that are being stored should properly implement the
Object.equals(java.lang.Object)
and Object.hashCode()
methods.-
Nested Class Summary
-
Constructor Summary
ConstructorDescriptionConstructs a new, empty object registry.WeakObjectRegistry
(int cacheSize, Collection<? extends E> c) Constructs a new WeakObjectRegistry containing the elements in the specified collection. -
Method Summary
Methods inherited from class java.util.AbstractSet
equals, hashCode, removeAll
Methods inherited from class java.util.AbstractCollection
addAll, containsAll, isEmpty, retainAll, toArray, toArray, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.Set
addAll, containsAll, isEmpty, retainAll, spliterator, toArray, toArray
-
Constructor Details
-
WeakObjectRegistry
public WeakObjectRegistry()Constructs a new, empty object registry. -
WeakObjectRegistry
Constructs a new WeakObjectRegistry containing the elements in the specified collection.- Parameters:
c
- The collection whose elements are to be placed into this object registry.- Throws:
NullPointerException
- If the specified collection is null.
-
-
Method Details
-
get
-
closeableIterator
-
iterator
-
size
public int size()- Specified by:
size
in interfaceCollection<K>
- Specified by:
size
in interfaceSet<K>
- Specified by:
size
in classAbstractCollection<E extends K>
-
contains
-
add
-
getOrAdd
-
remove
-
clear
public void clear()- Specified by:
clear
in interfaceCollection<K>
- Specified by:
clear
in interfaceSet<K>
- Overrides:
clear
in classAbstractCollection<E extends K>
-