public final class Refs<T extends RefCounted<T>>
extends java.util.AbstractCollection<T>
implements java.lang.AutoCloseable
| Constructor and Description | 
|---|
| Refs() | 
| Refs(java.util.Map<T,Ref<T>> references) | 
| Modifier and Type | Method and Description | 
|---|---|
| Refs<T> | addAll(Refs<T> add)Merge two sets of references, ensuring only one reference is retained between the two sets | 
| void | close()See  release() | 
| Ref<T> | get(T referenced) | 
| java.util.Iterator<T> | iterator() | 
| static <T extends RefCounted<T>> | ref(java.lang.Iterable<T> reference) | 
| void | relaseAllExcept(java.util.Collection<T> keep) | 
| void | release()Release ALL of the references held by this Refs collection | 
| void | release(java.util.Collection<T> release)Release a retained Ref to all of the provided objects; if any is not held, an exception will be thrown | 
| static void | release(java.lang.Iterable<? extends Ref<?>> refs) | 
| static java.lang.Throwable | release(java.lang.Iterable<? extends Ref<?>> refs,
       java.lang.Throwable accumulate) | 
| void | release(T referenced) | 
| boolean | releaseIfHolds(T referenced)Release the retained Ref to the provided object, if held, return false otherwise | 
| static <T extends SelfRefCounted<T>> | selfRefs(java.lang.Iterable<T> refs) | 
| int | size() | 
| static <T extends RefCounted<T>> | tryRef(java.lang.Iterable<T> reference)Acquire a reference to all of the provided objects, or none | 
| boolean | tryRef(T t)Attempt to take a reference to the provided object; if it has already been released, null will be returned | 
add, addAll, clear, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic void release()
public void close()
release()close in interface java.lang.AutoCloseablepublic Ref<T> get(T referenced)
referenced - the object we have a Ref topublic void release(T referenced)
referenced - the object we have a Ref topublic boolean releaseIfHolds(T referenced)
referenced - the object we retain a Ref topublic void relaseAllExcept(java.util.Collection<T> keep)
public void release(java.util.Collection<T> release)
release - public boolean tryRef(T t)
t - object to acquire a reference topublic java.util.Iterator<T> iterator()
iterator in interface java.lang.Iterable<T extends RefCounted<T>>iterator in interface java.util.Collection<T extends RefCounted<T>>iterator in class java.util.AbstractCollection<T extends RefCounted<T>>public int size()
size in interface java.util.Collection<T extends RefCounted<T>>size in class java.util.AbstractCollection<T extends RefCounted<T>>public Refs<T> addAll(Refs<T> add)
public static <T extends RefCounted<T>> Refs<T> tryRef(java.lang.Iterable<T> reference)
public static <T extends RefCounted<T>> Refs<T> ref(java.lang.Iterable<T> reference)
public static void release(java.lang.Iterable<? extends Ref<?>> refs)
public static java.lang.Throwable release(java.lang.Iterable<? extends Ref<?>> refs, java.lang.Throwable accumulate)
public static <T extends SelfRefCounted<T>> java.lang.Iterable<Ref<T>> selfRefs(java.lang.Iterable<T> refs)
Copyright © 2018 The Apache Software Foundation