Class WeakObjectRegistry<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet<E>
-
- org.eclipse.rdf4j.sail.memory.model.WeakObjectRegistry<E>
-
- All Implemented Interfaces:
Iterable<E>,Collection<E>,Set<E>
public class WeakObjectRegistry<E> extends AbstractSet<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 theObject.equals(java.lang.Object)andObject.hashCode()methods.
-
-
Constructor Summary
Constructors Constructor Description WeakObjectRegistry()Constructs a new, empty object registry.WeakObjectRegistry(Collection<? extends E> c)Constructs a new WeakObjectRegistry containing the elements in the specified collection.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(E object)voidclear()booleancontains(Object o)Eget(Object key)Retrieves the stored object that is equal to the supplied key object.Iterator<E>iterator()booleanremove(Object o)intsize()-
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 Detail
-
WeakObjectRegistry
public WeakObjectRegistry()
Constructs a new, empty object registry.
-
WeakObjectRegistry
public WeakObjectRegistry(Collection<? extends E> c)
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 Detail
-
get
public E get(Object key)
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.
-
size
public int size()
- Specified by:
sizein interfaceCollection<E>- Specified by:
sizein interfaceSet<E>- Specified by:
sizein classAbstractCollection<E>
-
contains
public boolean contains(Object o)
- Specified by:
containsin interfaceCollection<E>- Specified by:
containsin interfaceSet<E>- Overrides:
containsin classAbstractCollection<E>
-
add
public boolean add(E object)
- Specified by:
addin interfaceCollection<E>- Specified by:
addin interfaceSet<E>- Overrides:
addin classAbstractCollection<E>
-
remove
public boolean remove(Object o)
- Specified by:
removein interfaceCollection<E>- Specified by:
removein interfaceSet<E>- Overrides:
removein classAbstractCollection<E>
-
clear
public void clear()
- Specified by:
clearin interfaceCollection<E>- Specified by:
clearin interfaceSet<E>- Overrides:
clearin classAbstractCollection<E>
-
-