Package org.eclipse.jface.resource

## Class DeviceResourceDescriptor

- java.lang.Object
- - org.eclipse.jface.resource.DeviceResourceDescriptor

Direct Known Subclasses:
  `ColorDescriptor`, `FontDescriptor`, `ImageDescriptor`

    public abstract class DeviceResourceDescriptor
    extends Object

Instances of this class can allocate and dispose SWT resources. Each instance describes a particular resource (such as a Color, Font, or Image) and can create and destroy that resource on demand. DeviceResourceDescriptors are managed by a ResourceRegistry.

Note: It is recommended that subclasses implement `#equals` and `#hashCode`, so that clients, like decoration managers, can recognize when they have two equal descriptors at hand, e.g. decorating an identical object.

Since:
  3.1
See Also:
  `ResourceManager`

### Constructor Summary

Constructors
`DeviceResourceDescriptor()`

### Method Summary

All Methods Instance Methods Abstract Methods
`abstract Object` `createResource​(Device device)` Creates the resource described by this descriptor
`abstract void` `destroyResource​(Object previouslyCreatedObject)` Undoes everything that was done by a previous call to create(...), given the object that was returned by create(...).

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### DeviceResourceDescriptor

    public DeviceResourceDescriptor()

### Method Detail

#### createResource

    public abstract Object createResource​(Device device)

Creates the resource described by this descriptor

Parameters:
  `device` - the Device on which to allocate the resource
Returns:
  the newly allocated resource (not null)
Throws:
  `DeviceResourceException` - if unable to allocate the resource
Since:
  3.1

#### destroyResource

    public abstract void destroyResource​(Object previouslyCreatedObject)

Undoes everything that was done by a previous call to create(...), given the object that was returned by create(...).

Parameters:
  `previouslyCreatedObject` - an object that was returned by an equal descriptor in a previous call to createResource(...).
Since:
  3.1