Port.Info (Java SE 14 & JDK 14)
Description: declaration: module: java.desktop, package: javax.sound.sampled, interface: Port, class: Info
Keywords: javax.sound.sampled.Port.Info class

Module java.desktop
Package javax.sound.sampled

# Class Port.Info

java.lang.Object
javax.sound.sampled.Line.Info
javax.sound.sampled.Port.Info

Enclosing interface:
  Port

    public static class Port.Info
    extends Line.Info

The `Port.Info` class extends `Line.Info` with additional information specific to ports, including the port's name and whether it is a source or a target for its mixer. By definition, a port acts as either a source or a target to its mixer, but not both. (Audio input ports are sources; audio output ports are targets.)

To learn what ports are available, you can retrieve port info objects through the `getSourceLineInfo` and `getTargetLineInfo` methods of the `Mixer` interface. Instances of the `Port.Info` class may also be constructed and used to obtain lines matching the parameters specified in the `Port.Info` object.

Since:
  1.3

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static Port.Info` | `COMPACT_DISC` | A type of port that gets audio from a CD-ROM drive.
  `static Port.Info` | `HEADPHONE` | A type of port that sends audio to a headphone jack.
  `static Port.Info` | `LINE_IN` | A type of port that gets audio from a line-level audio input jack.
  `static Port.Info` | `LINE_OUT` | A type of port that sends audio to a line-level audio output jack.
  `static Port.Info` | `MICROPHONE` | A type of port that gets audio from a built-in microphone or a microphone jack.
  `static Port.Info` | `SPEAKER` | A type of port that sends audio to a built-in speaker or a speaker jack.

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `Info​(Class<?> lineClass, String name, boolean isSource)` | Constructs a port's info object from the information given.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `boolean` | `equals​(Object obj)` | Indicates whether the specified object is equal to this info object, returning `true` if the objects are the same.
  `String` | `getName()` | Obtains the name of the port.
  `int` | `hashCode()` | Returns a hash code value for this info object.
  `boolean` | `isSource()` | Indicates whether the port is a source or a target for its mixer.
  `boolean` | `matches​(Line.Info info)` | Indicates whether this info object specified matches this one.
  `String` | `toString()` | Provides a `String` representation of the port.

  ### Methods declared in class javax.sound.sampled.Line.Info

  `getLineClass`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### MICROPHONE

    public static final Port.Info MICROPHONE
    A type of port that gets audio from a built-in microphone or a microphone jack.

  - ### LINE_IN

    public static final Port.Info LINE_IN
    A type of port that gets audio from a line-level audio input jack.

  - ### COMPACT_DISC

    public static final Port.Info COMPACT_DISC
    A type of port that gets audio from a CD-ROM drive.

  - ### SPEAKER

    public static final Port.Info SPEAKER
    A type of port that sends audio to a built-in speaker or a speaker jack.

  - ### HEADPHONE

    public static final Port.Info HEADPHONE
    A type of port that sends audio to a headphone jack.

  - ### LINE_OUT

    public static final Port.Info LINE_OUT
    A type of port that sends audio to a line-level audio output jack.

- ## Constructor Details

  - ### Info

    public Info​(Class<?> lineClass, String name, boolean isSource)
    Constructs a port's info object from the information given. This constructor is typically used by an implementation of Java Sound to describe a supported line.
    Parameters:
      `lineClass` - the class of the port described by the info object
      `name` - the string that names the port
      `isSource` - `true` if the port is a source port (such as a microphone), `false` if the port is a target port (such as a speaker)

- ## Method Details

  - ### getName

    public String getName()
    Obtains the name of the port.
    Returns:
      the string that names the port

  - ### isSource

    public boolean isSource()
    Indicates whether the port is a source or a target for its mixer.
    Returns:
      `true` if the port is a source port (such as a microphone), `false` if the port is a target port (such as a speaker)

  - ### matches

    public boolean matches​(Line.Info info)
    Indicates whether this info object specified matches this one. To match, the match requirements of the superclass must be met and the types must be equal.
    Overrides:
      `matches` in class `Line.Info`
    Parameters:
      `info` - the info object for which the match is queried
    Returns:
      `true` if the specified object matches this one, `false` otherwise

  - ### equals

    public final boolean equals​(Object obj)
    Indicates whether the specified object is equal to this info object, returning `true` if the objects are the same.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - the reference object with which to compare
    Returns:
      `true` if the specified object is equal to this info object; `false` otherwise
    See Also:
      `Object.hashCode()`, `HashMap`

  - ### hashCode

    public final int hashCode()
    Returns a hash code value for this info object.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      a hash code value for this info object
    See Also:
      `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`

  - ### toString

    public final String toString()
    Provides a `String` representation of the port.
    Overrides:
      `toString` in class `Line.Info`
    Returns:
      a string that describes the port