Package org.onlab.util
Class ExtendedSet<E>
- java.lang.Object
-
- org.onlab.util.ExtendedSet<E>
-
- All Implemented Interfaces:
java.lang.Iterable<E>
,java.util.Collection<E>
,java.util.Set<E>
public class ExtendedSet<E> extends java.lang.Object implements java.util.Set<E>
A Set providing additional get, insertOrReplace and conditionalRemove methods.
-
-
Constructor Summary
Constructors Constructor Description ExtendedSet(java.util.Map<E,E> map)
Constructs a new instance by backing it with the supplied Map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(E e)
boolean
addAll(java.util.Collection<? extends E> c)
void
clear()
boolean
conditionalRemove(E entry, java.util.function.Predicate<E> entryTest)
Removes the entry if the supplied predicate evaluates to true.boolean
contains(java.lang.Object o)
boolean
containsAll(java.util.Collection<?> c)
E
get(java.lang.Object o)
Returns set element that is equal to the specified object.boolean
insertOrReplace(E entry, java.util.function.Predicate<E> entryTest)
Inserts the entry if it is not already in the set otherwise replaces the existing entry if the supplied predicate evaluates to true.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)
-
-
-
Method Detail
-
get
public E get(java.lang.Object o)
Returns set element that is equal to the specified object.- Parameters:
o
- object- Returns:
- set element that is equal to the input argument or null if no such set element exists
-
insertOrReplace
public boolean insertOrReplace(E entry, java.util.function.Predicate<E> entryTest)
Inserts the entry if it is not already in the set otherwise replaces the existing entry if the supplied predicate evaluates to true.- Parameters:
entry
- entry to addentryTest
- predicate that is used to evaluate if the existing entry should be replaced- Returns:
- true if the set is updated; false otherwise
-
conditionalRemove
public boolean conditionalRemove(E entry, java.util.function.Predicate<E> entryTest)
Removes the entry if the supplied predicate evaluates to true.- Parameters:
entry
- entry to removeentryTest
- predicate that is used to evaluated aginst the existing entry. Return value of true implies value should be removed.- Returns:
- true if the set is updated; false otherwise
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
contains
public boolean contains(java.lang.Object o)
-
iterator
public java.util.Iterator<E> iterator()
-
toArray
public java.lang.Object[] toArray()
-
toArray
public <T> T[] toArray(T[] a)
-
add
public boolean add(E e)
-
remove
public boolean remove(java.lang.Object o)
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
-
addAll
public boolean addAll(java.util.Collection<? extends E> c)
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
-
-