@GwtCompatible public abstract class ForwardingSet<E> extends ForwardingCollection<E> implements Set<E>
Warning: The methods of ForwardingSet
forward
indiscriminately to the methods of the delegate. For example,
overriding ForwardingCollection.add(E)
alone will not change the behavior of ForwardingCollection.addAll(java.util.Collection<? extends E>)
, which can lead to unexpected behavior. In this case, you should
override addAll
as well, either providing your own implementation, or
delegating to the provided standardAddAll
method.
default
method warning: This class does not forward calls to default
methods. Instead, it inherits their default implementations. When those implementations
invoke methods, they invoke methods on the ForwardingSet
.
The standard
methods are not guaranteed to be thread-safe, even
when all of the methods that they depend on are thread-safe.
Modifier | Constructor and Description |
---|---|
protected |
ForwardingSet()
Constructor for use by subclasses.
|
Modifier and Type | Method and Description |
---|---|
protected abstract Set<E> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
boolean |
equals(Object object) |
int |
hashCode() |
protected boolean |
standardEquals(Object object)
A sensible definition of
equals(java.lang.Object) in terms of ForwardingCollection.size() and
ForwardingCollection.containsAll(java.util.Collection<?>) . |
protected int |
standardHashCode()
A sensible definition of
hashCode() in terms of ForwardingCollection.iterator() . |
protected boolean |
standardRemoveAll(Collection<?> collection)
A sensible definition of
ForwardingCollection.removeAll(java.util.Collection<?>) in terms of ForwardingCollection.iterator()
and ForwardingCollection.remove(java.lang.Object) . |
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, standardAddAll, standardClear, standardContains, standardContainsAll, standardIsEmpty, standardRemove, standardRetainAll, standardToArray, standardToArray, standardToString, toArray, toArray
toString
protected ForwardingSet()
protected abstract Set<E> delegate()
ForwardingObject
delegate()
. Concrete subclasses override this method to supply
the instance being decorated.delegate
in class ForwardingCollection<E>
public int hashCode()
protected boolean standardRemoveAll(Collection<?> collection)
ForwardingCollection.removeAll(java.util.Collection<?>)
in terms of ForwardingCollection.iterator()
and ForwardingCollection.remove(java.lang.Object)
. If you override iterator
or remove
,
you may wish to override ForwardingCollection.removeAll(java.util.Collection<?>)
to forward to this
implementation.standardRemoveAll
in class ForwardingCollection<E>
ForwardingCollection
version as of 12.0)protected boolean standardEquals(@Nullable Object object)
equals(java.lang.Object)
in terms of ForwardingCollection.size()
and
ForwardingCollection.containsAll(java.util.Collection<?>)
. If you override either of those methods, you may wish
to override equals(java.lang.Object)
to forward to this implementation.protected int standardHashCode()
hashCode()
in terms of ForwardingCollection.iterator()
.
If you override ForwardingCollection.iterator()
, you may wish to override equals(java.lang.Object)
to forward to this implementation.Copyright © 2010-2016. All Rights Reserved.