org.openrdf.sail.memory.model
Class WeakObjectRegistry<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractSet<E>
          extended by org.openrdf.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 the Object.equals(java.lang.Object) and Object.hashCode() methods.


Constructor Summary
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
 boolean add(E object)
           
 void clear()
           
 boolean contains(Object o)
           
 E get(Object key)
          Retrieves the stored object that is equal to the supplied key object.
 Iterator<E> iterator()
           
 boolean remove(Object o)
           
 int size()
           
 
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.Set
addAll, containsAll, isEmpty, retainAll, 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.

iterator

public Iterator<E> iterator()
Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface Collection<E>
Specified by:
iterator in interface Set<E>
Specified by:
iterator in class AbstractCollection<E>

size

public int size()
Specified by:
size in interface Collection<E>
Specified by:
size in interface Set<E>
Specified by:
size in class AbstractCollection<E>

contains

public boolean contains(Object o)
Specified by:
contains in interface Collection<E>
Specified by:
contains in interface Set<E>
Overrides:
contains in class AbstractCollection<E>

add

public boolean add(E object)
Specified by:
add in interface Collection<E>
Specified by:
add in interface Set<E>
Overrides:
add in class AbstractCollection<E>

remove

public boolean remove(Object o)
Specified by:
remove in interface Collection<E>
Specified by:
remove in interface Set<E>
Overrides:
remove in class AbstractCollection<E>

clear

public void clear()
Specified by:
clear in interface Collection<E>
Specified by:
clear in interface Set<E>
Overrides:
clear in class AbstractCollection<E>


Copyright © 2001-2012 Aduna. All Rights Reserved.