Interface ValueSet<T>

Type Parameters:
T - the value type
All Superinterfaces:
Iterable<T>, Observable<Set<T>>, ObservableValueCollection<T,Set<T>>, Observer<Set<T>>, Value<Set<T>>, ValueCollection<T,Set<T>>

public interface ValueSet<T> extends ValueCollection<T,Set<T>>

An observable wrapper for an ordered Set of values.

A factory for ValueSet instances.

All implementations are thread-safe and support concurrent access.

This set maintains item ordering and can be sorted via ValueCollection.sort(Comparator), which notifies when it changes the order. Note that a reorder is not a change as far as Value.Notify.CHANGED is concerned, item ordering not factoring into Set equality, so the notification comes from the sort itself rather than from the assignment behind it. For the same reason it does not cross a link: the far end is assigned the sorted collection and holds it from then on, but equality hides the reorder there as well, so its own observers are not notified.