org.eclipse.ocl.examples.eventmanager.util
Class SingleSetAsBag<E>

java.lang.Object
  extended by org.eclipse.ocl.examples.eventmanager.util.SingleSetAsBag<E>
All Implemented Interfaces:
java.lang.Iterable<E>, java.util.Collection<E>, Bag<E>

public class SingleSetAsBag<E>
extends java.lang.Object
implements Bag<E>

Wraps a single Set as a Bag. If the set's Collection.contains(Object) operation is fast then so will be this bag's contains(Object) operation. According to the specification of Bag, all modifying operations throw an UnsupportedOperationException.

The underlying Set, however, can be obtained using getWrappedSet() and modified. As the iterator() on this bag is obtained from the underlying set, modifications to the set while iterating over this bag will cause a ConcurrentModificationException.

Author:
Axel Uhl

Constructor Summary
SingleSetAsBag(java.util.Set<E> set)
           
 
Method Summary
 boolean add(E o)
           
 boolean addAll(java.util.Collection<? extends E> c)
           
 void clear()
           
 boolean contains(java.lang.Object o)
           
 boolean containsAll(java.util.Collection<?> c)
           
 int count(java.lang.Object o)
          Queries how many times the specified object occurs in me.
 java.util.Set<E> getWrappedSet()
           
 boolean isEmpty()
           
 java.util.Iterator<E> iterator()
           
 boolean remove(java.lang.Object o)
           
 boolean removeAll(java.util.Collection<?> c)
           
 boolean retainAll(java.util.Collection<?> c)
           
 int size()
           
 java.lang.Object[] toArray()
           
<T> T[]
toArray(T[] a)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Collection
equals, hashCode
 

Constructor Detail

SingleSetAsBag

public SingleSetAsBag(java.util.Set<E> set)
Parameters:
set - must not be null, or else, a NullPointerException will be thrown.
Method Detail

getWrappedSet

public java.util.Set<E> getWrappedSet()

size

public int size()
Specified by:
size in interface java.util.Collection<E>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection<E>

contains

public boolean contains(java.lang.Object o)
Specified by:
contains in interface java.util.Collection<E>

iterator

public java.util.Iterator<E> iterator()
Specified by:
iterator in interface java.lang.Iterable<E>
Specified by:
iterator in interface java.util.Collection<E>

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection<E>

toArray

public <T> T[] toArray(T[] a)
Specified by:
toArray in interface java.util.Collection<E>

add

public boolean add(E o)
Specified by:
add in interface java.util.Collection<E>

remove

public boolean remove(java.lang.Object o)
Specified by:
remove in interface java.util.Collection<E>

containsAll

public boolean containsAll(java.util.Collection<?> c)
Specified by:
containsAll in interface java.util.Collection<E>

addAll

public boolean addAll(java.util.Collection<? extends E> c)
Specified by:
addAll in interface java.util.Collection<E>

removeAll

public boolean removeAll(java.util.Collection<?> c)
Specified by:
removeAll in interface java.util.Collection<E>

retainAll

public boolean retainAll(java.util.Collection<?> c)
Specified by:
retainAll in interface java.util.Collection<E>

clear

public void clear()
Specified by:
clear in interface java.util.Collection<E>

count

public int count(java.lang.Object o)
Description copied from interface: Bag
Queries how many times the specified object occurs in me. If I do not contain the object, then the count is zero.

Specified by:
count in interface Bag<E>
Parameters:
o - an object
Returns:
the number of times that it occurs in me