APIdia Launch Partner
Top Description Inners Fields Constructors Methods
com.sun.media.jfxmediaimpl

public Class MediaDisposer

extends Object
Class Inheritance
Imports
com.sun.media.jfxmedia.logging.Logger, java.lang.ref.PhantomReference, .Reference, .ReferenceQueue, java.util.HashMap, .Map

This guy sits and waits for PhantomReferences to appear in it's queue and invokes associated disposers when they do.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static interface
MediaDisposer.Disposable

Common interface for objects that can be disposed of directly.

public static interface
MediaDisposer.ResourceDisposer

Common interface for objects that can dispose of other objects.

private static class

Field Summary

Modifier and TypeField and Description
private final Map<Reference<T>, MediaDisposer.Disposable>
private final ReferenceQueue<Object>
private static MediaDisposer

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static void
addDisposable(Object
the object that the disposable object is associated with
referent
,
MediaDisposer.Disposable
the object to be disposed when referent is collected
disposable
)

Registers a disposable object that will be disposed when the referent is garbage collected.

public static void
addResourceDisposer(Object
when this object is garbage collected, the resource will be disposed
referent
,
Object
generic object to be disposed, this is passed as-is as an argument to the disposer
resource
,
MediaDisposer.ResourceDisposer
resource disposer class instance that will be used to dispose the provided resource
disposer
)

Register a resource to be dispose of when the referent becomes collected.

private void
private static synchronized MediaDisposer
private void
private void
private void
public static void
removeResourceDisposer(Object
the resource that was previously registered, equals() is used to determine if it's the same object or not
resource
)

Remove ALL previously registered resource disposers associated with the given resource.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

disposersback to summary
private final Map<Reference<T>, MediaDisposer.Disposable> disposers
purgatoryback to summary
private final ReferenceQueue<Object> purgatory
theDisposinatorback to summary
private static MediaDisposer theDisposinator

Constructor Detail

MediaDisposerback to summary
private MediaDisposer()

Method Detail

addDisposableback to summary
public static void addDisposable(Object referent, MediaDisposer.Disposable disposable)

Registers a disposable object that will be disposed when the referent is garbage collected.

Parameters
referent:Object

the object that the disposable object is associated with

disposable:MediaDisposer.Disposable

the object to be disposed when referent is collected

addResourceDisposerback to summary
public static void addResourceDisposer(Object referent, Object resource, MediaDisposer.ResourceDisposer disposer)

Register a resource to be dispose of when the referent becomes collected.

Parameters
referent:Object

when this object is garbage collected, the resource will be disposed

resource:Object

generic object to be disposed, this is passed as-is as an argument to the disposer

disposer:MediaDisposer.ResourceDisposer

resource disposer class instance that will be used to dispose the provided resource

disposerLoopback to summary
private void disposerLoop()
disposinatorback to summary
private static synchronized MediaDisposer disposinator()
implAddDisposableback to summary
private void implAddDisposable(Object referent, MediaDisposer.Disposable disposer)
implAddResourceDisposerback to summary
private void implAddResourceDisposer(Object referent, Object resource, MediaDisposer.ResourceDisposer disposer)
implRemoveResourceDisposerback to summary
private void implRemoveResourceDisposer(Object resource)
removeResourceDisposerback to summary
public static void removeResourceDisposer(Object resource)

Remove ALL previously registered resource disposers associated with the given resource. You use this when the resource will be otherwise safely disposed of and no longer need to rely on this disposer to clean up.

Parameters
resource:Object

the resource that was previously registered, equals() is used to determine if it's the same object or not

com.sun.media.jfxmediaimpl back to summary

public Interface MediaDisposer.Disposable

Known Direct Implementers
com.sun.media.jfxmediaimpl.MediaDisposer.ResourceDisposerRecord

Common interface for objects that can be disposed of directly.

Method Summary

Modifier and TypeMethod and Description
public void
dispose()

dispose() is called when an associated object is garbage collected and no longer reachable.

Method Detail

disposeback to summary
public void dispose()

dispose() is called when an associated object is garbage collected and no longer reachable. Note that the associated object cannot be accessed by the time this method is invoked.

com.sun.media.jfxmediaimpl back to summary

public Interface MediaDisposer.ResourceDisposer

Known Direct Implementers
com.sun.media.jfxmediaimpl.NativeAudioClip.NativeAudioClipDisposer, com.sun.media.jfxmediaimpl.NativeMediaManager.NativeMediaPlayerDisposer, com.sun.media.jfxmediaimpl.NativeVideoBuffer.VideoBufferDisposer, com.sun.media.jfxmedia.locator.LocatorCache.CacheDisposer

Common interface for objects that can dispose of other objects.

Method Summary

Modifier and TypeMethod and Description
public void
disposeResource(Object
the resource that needs to be disposed of.
resource
)

Dispose the provided resource.

Method Detail

disposeResourceback to summary
public void disposeResource(Object resource)

Dispose the provided resource.

Parameters
resource:Object

the resource that needs to be disposed of.

com.sun.media.jfxmediaimpl back to summary

private Class MediaDisposer.ResourceDisposerRecord

extends Object
implements Disposable
Class Inheritance
  • java.lang.Object
  • com.sun.media.jfxmediaimpl.MediaDisposer.ResourceDisposerRecord
All Implemented Interfaces
com.sun.media.jfxmediaimpl.MediaDisposer.Disposable

Field Summary

Modifier and TypeField and Description
pack-priv MediaDisposer.ResourceDisposer
pack-priv Object

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
dispose()

Implements com.sun.media.jfxmediaimpl.MediaDisposer.Disposable.dispose.

dispose() is called when an associated object is garbage collected and no longer reachable.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

disposerback to summary
pack-priv MediaDisposer.ResourceDisposer disposer
resourceback to summary
pack-priv Object resource

Constructor Detail

ResourceDisposerRecordback to summary
public ResourceDisposerRecord(Object resource, MediaDisposer.ResourceDisposer disposer)

Method Detail

disposeback to summary
public void dispose()

Implements com.sun.media.jfxmediaimpl.MediaDisposer.Disposable.dispose.

Doc from com.sun.media.jfxmediaimpl.MediaDisposer.Disposable.dispose.

dispose() is called when an associated object is garbage collected and no longer reachable. Note that the associated object cannot be accessed by the time this method is invoked.

Annotations
@Override