- All Implemented Interfaces:
Iterable<E>
,Collection<E>
,Set<E>
- Direct Known Subclasses:
ForwardingSortedSet
,TypeToken.TypeSet
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.
- Since:
- 2.0
- Author:
- Kevin Bourrillion, Louis Wasserman
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondelegate()
Returns the backing delegate instance that methods are forwarded to.boolean
int
hashCode()
protected boolean
standardEquals
(@Nullable Object object) A sensible definition ofequals(java.lang.Object)
in terms ofForwardingCollection.size()
andForwardingCollection.containsAll(java.util.Collection<?>)
.protected int
A sensible definition ofhashCode()
in terms ofForwardingCollection.iterator()
.protected boolean
standardRemoveAll
(Collection<?> collection) A sensible definition ofForwardingCollection.removeAll(java.util.Collection<?>)
in terms ofForwardingCollection.iterator()
andForwardingCollection.remove(java.lang.Object)
.Methods inherited from class com.google.common.collect.ForwardingCollection
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, standardAddAll, standardClear, standardContains, standardContainsAll, standardIsEmpty, standardRemove, standardRetainAll, standardToArray, standardToArray, standardToString, toArray, toArray
Methods inherited from class com.google.common.collect.ForwardingObject
toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Constructor Details
-
ForwardingSet
protected ForwardingSet()Constructor for use by subclasses.
-
-
Method Details
-
delegate
Description copied from class:ForwardingObject
Returns the backing delegate instance that methods are forwarded to. Abstract subclasses generally override this method with an abstract method that has a more specific return type, such asdelegate()
. Concrete subclasses override this method to supply the instance being decorated.- Specified by:
delegate
in classForwardingCollection<E extends @Nullable Object>
-
equals
-
hashCode
-
standardRemoveAll
A sensible definition ofForwardingCollection.removeAll(java.util.Collection<?>)
in terms ofForwardingCollection.iterator()
andForwardingCollection.remove(java.lang.Object)
. If you overrideiterator
orremove
, you may wish to overrideForwardingCollection.removeAll(java.util.Collection<?>)
to forward to this implementation.- Overrides:
standardRemoveAll
in classForwardingCollection<E extends @Nullable Object>
- Since:
- 7.0 (this version overrides the
ForwardingCollection
version as of 12.0)
-
standardEquals
A sensible definition ofequals(java.lang.Object)
in terms ofForwardingCollection.size()
andForwardingCollection.containsAll(java.util.Collection<?>)
. If you override either of those methods, you may wish to overrideequals(java.lang.Object)
to forward to this implementation.- Since:
- 7.0
-
standardHashCode
A sensible definition ofhashCode()
in terms ofForwardingCollection.iterator()
. If you overrideForwardingCollection.iterator()
, you may wish to overrideequals(java.lang.Object)
to forward to this implementation.- Since:
- 7.0
-