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
Retrieves the stored object that is equal to the supplied key object.- Parameters:
key
- The object that should be used as the search key for the operation.- Returns:
- A stored object that is equal to the supplied key, or null if no such object was found.
-
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
- Specified by:
contains
in interfaceCollection<K>
- Specified by:
contains
in interfaceSet<K>
- Overrides:
contains
in classAbstractCollection<E extends K>
-
add
- Specified by:
add
in interfaceCollection<K>
- Specified by:
add
in interfaceSet<K>
- Overrides:
add
in classAbstractCollection<E extends K>
-
getOrAdd
-
remove
- Specified by:
remove
in interfaceCollection<K>
- Specified by:
remove
in interfaceSet<K>
- Overrides:
remove
in classAbstractCollection<E extends K>
-
clear
public void clear()- Specified by:
clear
in interfaceCollection<K>
- Specified by:
clear
in interfaceSet<K>
- Overrides:
clear
in classAbstractCollection<E extends K>
-