|
 |
|
| |
org.eclipse.emf.validation.util
Class FilteredCollection<E>
java.lang.Object
java.util.AbstractCollection<E>
org.eclipse.emf.validation.util.FilteredCollection<E>
-
-
Type Parameters:
-
E - the collection element type
-
All Implemented Interfaces:
-
Iterable<E>,
Collection<E>
-
public class FilteredCollection<E>
- extends
AbstractCollection<E>
Wrapper for a Java 2
Collection
that provides a filtered view of its
contents according to a client-specified filter algorithm.
|
Nested Class Summary
|
static interface
|
FilteredCollection.Filter<
E>
Interface for the algorithm that determines which elements are in and
which are out of the filtered collection. |
|
Methods inherited from class java.util.
AbstractCollection
|
add,
addAll,
clear,
contains,
containsAll,
isEmpty,
remove,
removeAll,
retainAll,
toArray,
toArray,
toString
|
FilteredCollection
public FilteredCollection(
Collection<? extends
E> collection,
FilteredCollection.Filter<? super
E> filter)
-
Initializes me to filter the specified collection, obtained
independently.
Note that it is a very bad idea to modify the
wrapped collection after creating this filtered view on it.
The results are undefined, but probably not what you want.
-
Parameters:
-
collection - the collection that I am to filter -
filter - the filter algorithm to apply
getFilter
public final
FilteredCollection.Filter<? super
E> getFilter()
- Retrieves the filter with which I was initialized. Note that the result
of modifying this filter's algorithm while I am using it is undefined,
but not likely to be what you want.
-
-
Returns:
- my filter
iterator
public
Iterator<
E> iterator()
- Obtains an iterator that dynamically filters out unwanted items using
my
filter algorithm.
-
-
Specified by:
-
iterator
in interface
Iterable<
E>
-
Specified by:
-
iterator
in interface
Collection<
E>
-
Specified by:
-
iterator
in class
AbstractCollection<
E>
-
-
Returns:
- an iterator the exposes only the elements of my wrapped
collection that match my filter
size
public int size()
-
Computes the size of the filtered view, i.e. the number of elements
in the original collection that match my
filter, by
iterating myself.
Note that my size is recounted every time that it is requested, in case
my filter's algorithm is changed or the contents of the underlying
collection are changed.
-
-
Specified by:
-
size
in interface
Collection<
E>
-
Specified by:
-
size
in class
AbstractCollection<
E>
-
-
Returns:
- the number of elements in my wrapped collection that match my
filter
|
|
|