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