MidiDeviceProvider (Java SE 11 & JDK 11 )
Keywords: javax.sound.midi.spi.MidiDeviceProvider class

Module java.desktop
Package javax.sound.midi.spi

## Class MidiDeviceProvider

- java.lang.Object
- - javax.sound.midi.spi.MidiDeviceProvider

-     public abstract class MidiDeviceProvider
      extends Object

  A `MidiDeviceProvider` is a factory or provider for a particular type of MIDI device. This mechanism allows the implementation to determine how resources are managed in the creation and management of a device.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MidiDeviceProvider()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract MidiDevice` | `getDevice​(MidiDevice.Info info)` | Obtains an instance of the device represented by the info object.
    `abstract MidiDevice.Info[]` | `getDeviceInfo()` | Obtains the set of info objects representing the device or devices provided by this `MidiDeviceProvider`.
    `boolean` | `isDeviceSupported​(MidiDevice.Info info)` | Indicates whether the device provider supports the device represented by the specified device info object.

    - ### Methods declared in class java.lang.Object

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

- - ### Constructor Detail

    - #### MidiDeviceProvider

          public MidiDeviceProvider()

  - ### Method Detail

    - #### isDeviceSupported

          public boolean isDeviceSupported​(MidiDevice.Info info)

      Indicates whether the device provider supports the device represented by the specified device info object.
      Parameters:
        `info` - an info object that describes the device for which support is queried
      Returns:
        `true` if the specified device is supported, otherwise `false`
      Throws:
        `NullPointerException` - if `info` is `null`

    - #### getDeviceInfo

          public abstract MidiDevice.Info[] getDeviceInfo()

      Obtains the set of info objects representing the device or devices provided by this `MidiDeviceProvider`.
      Returns:
        set of device info objects

    - #### getDevice

          public abstract MidiDevice getDevice​(MidiDevice.Info info)

      Obtains an instance of the device represented by the info object.
      Parameters:
        `info` - an info object that describes the desired device
      Returns:
        device instance
      Throws:
        `IllegalArgumentException` - if the info object specified does not match the info object for a device supported by this `MidiDeviceProvider`
        `NullPointerException` - if `info` is `null`