public final class Refs<T extends RefCounted>
extends java.util.AbstractCollection<T>
implements java.lang.AutoCloseable
Constructor and Description |
---|
Refs() |
Refs(java.util.Map<T,Ref> 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 |
get(T referenced) |
java.util.Iterator<T> |
iterator() |
static <T extends RefCounted> |
ref(java.lang.Iterable<T> reference) |
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
|
void |
release(T referenced) |
boolean |
releaseIfHolds(T referenced)
Release the retained Ref to the provided object, if held, return false otherwise
|
int |
size() |
static <T extends RefCounted> |
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, toString
public void release()
public void close()
release()
close
in interface java.lang.AutoCloseable
public Ref 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 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>
iterator
in interface java.util.Collection<T extends RefCounted>
iterator
in class java.util.AbstractCollection<T extends RefCounted>
public int size()
size
in interface java.util.Collection<T extends RefCounted>
size
in class java.util.AbstractCollection<T extends RefCounted>
public Refs<T> addAll(Refs<T> add)
public static <T extends RefCounted> Refs<T> tryRef(java.lang.Iterable<T> reference)
public static <T extends RefCounted> Refs<T> ref(java.lang.Iterable<T> reference)
Copyright © 2015 The Apache Software Foundation