public class DualReferenceCounted extends Object implements MonitorReferenceCounted
INIT| Constructor and Description |
|---|
DualReferenceCounted(ReferenceCountedTracer a,
ReferenceCountedTracer b) |
| Modifier and Type | Method and Description |
|---|---|
StackTrace |
createdHere() |
int |
refCount()
Returns the reference count for this resource.
|
int |
referenceId() |
String |
referenceName() |
void |
release(ReferenceOwner id)
Releases a resource.
|
void |
releaseLast(ReferenceOwner id)
Releases a resource and checks this is the last usage.
|
void |
reserve(ReferenceOwner id)
Reserves a resource or throws an Exception.
|
boolean |
reservedBy(ReferenceOwner owner)
Best effort check the owner has reserved it.
|
void |
reserveTransfer(ReferenceOwner from,
ReferenceOwner to) |
void |
throwExceptionIfNotReleased() |
void |
throwExceptionIfReleased() |
boolean |
tryReserve(ReferenceOwner id)
Tries to reserve a resource and returns if the resource could
be successfully reserved.
|
void |
warnAndReleaseIfNotReleased() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitonReleased, onReleasedreleaseLasttemporarypublic DualReferenceCounted(ReferenceCountedTracer a, ReferenceCountedTracer b)
public void warnAndReleaseIfNotReleased()
warnAndReleaseIfNotReleased in interface ReferenceCountedTracerpublic void throwExceptionIfNotReleased()
throwExceptionIfNotReleased in interface ReferenceCountedTracerpublic StackTrace createdHere()
createdHere in interface ReferenceCountedTracerpublic boolean reservedBy(ReferenceOwner owner)
ReferenceCountedreservedBy in interface ReferenceCountedowner - to checkpublic void reserve(ReferenceOwner id) throws IllegalStateException
ReferenceCountedEach invocation of this method increases the reference count by one.
reserve in interface ReferenceCountedid - unique id for this reserveIllegalStateException - if the resource has already been freed.
I.e. its reference counter has as some point reached zero.public boolean tryReserve(ReferenceOwner id) throws IllegalStateException
ReferenceCountedEach invocation of this method increases the reference count by one.
tryReserve in interface ReferenceCountedid - unique id for this reserveIllegalStateException - if the resource has already been freed.
I.e. its reference counter has as some point reached zero.public void release(ReferenceOwner id) throws IllegalStateException
ReferenceCountedEach invocation of this method decreases the reference count by one.
release in interface ReferenceCountedid - unique id for the reserve to be releasedIllegalStateException - if the resource has already been freed.
I.e. its reference counter has as some point reached zero.public void releaseLast(ReferenceOwner id) throws IllegalStateException
ReferenceCountedEach invocation of this method decreases the reference count by one.
releaseLast in interface ReferenceCountedid - unique id for the reserve to be releasedIllegalStateException - if the resource has already been freed.
I.e. its reference counter has as some point reached zero.public int refCount()
ReferenceCountedrefCount in interface ReferenceCountedpublic void throwExceptionIfReleased()
throws IllegalStateException
throwExceptionIfReleased in interface ReferenceCountedTracerIllegalStateExceptionpublic void reserveTransfer(ReferenceOwner from, ReferenceOwner to) throws IllegalStateException
reserveTransfer in interface ReferenceCountedIllegalStateExceptionpublic int referenceId()
referenceId in interface ReferenceOwnerpublic String referenceName()
referenceName in interface ReferenceOwnerCopyright © 2020. All rights reserved.