public abstract class AbstractResource extends Object implements SharedResource
SharedResource
interface, and should be used for
all subclasses of RequestHandler
, ClientProvider
and ServerProvider
. Once the reference count
of this resource reaches zero, the destroy()
method is called.DEBUG, SYSTEM_PROPERTY_NAME_DEBUG
Modifier | Constructor and Description |
---|---|
protected |
AbstractResource() |
Modifier and Type | Method and Description |
---|---|
String |
currentState()
Returns a string describing the current state of references in human-friendly terms.
|
protected void |
destroy()
This method signals that this AbstractResource can dispose of any internal resources, and commence with shut
down of any internal threads.
|
ResourceReference |
refer()
Increments the reference count of this resource.
|
void |
release()
Releases the "main" reference to this resource (the implicit reference due to creation of the object).
|
int |
retainCount()
Returns the reference count of this resource.
|
public final ResourceReference refer()
SharedResource
Increments the reference count of this resource. You call this method to prevent an object from being destroyed until you have finished using it.
You MUST keep the returned ResourceReference
object and release the reference by calling
ResourceReference.close()
on it. A reference created by this method can NOT be released by calling
SharedResource.release()
.
refer
in interface SharedResource
ResourceReference.close()
public void release()
SharedResource
Releases the "main" reference to this resource (the implicit reference due to creation of the object).
References obtained by calling SharedResource.refer()
must be released by calling ResourceReference.close()
on the ResourceReference
returned from SharedResource.refer()
, NOT by calling this method. You call this
method once you are done using an object that you have previously caused instantiation of.
release
in interface SharedResource
ResourceReference
public final int retainCount()
Returns the reference count of this resource. This typically has no value for other than single-threaded unit- tests, as it is merely a snapshot of the counter.
protected void destroy()
This method signals that this AbstractResource can dispose of any internal resources, and commence with shut down of any internal threads. This will be called once the reference count of this resource reaches zero.
public String currentState()
Copyright © 2018. All rights reserved.