Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright 2002 Sun Microsystems, Inc.; Nokia Corporation. See the Copyright Notice and Specification License for more details.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.microedition.media
Interface Controllable

All Known Subinterfaces:
  Player, SourceStream

All Known Implementing Classes:
  DataSource

public interface Controllable

`Controllable` provides an interface for obtaining the `Control`s from an object like a `Player`. It provides methods to query all the supported `Control`s and to obtain a particular `Control` based on its class name.

Method Summary
`Control` | `getControl(java.lang.String controlType)` Obtain the object that implements the specified `Control` interface.
`Control[]` | `getControls()` Obtain the collection of `Control`s from the object that implements this interface.

Method Detail

### getControls

    public Control[] getControls()

  Obtain the collection of `Control`s from the object that implements this interface.

  Since a single object can implement multiple `Control` interfaces, it's necessary to check each object against different `Control` types. For example:

  `Controllable controllable;
  :
  Control cs[];
  cs = controllable.getControls();
  for (int i = 0; i < cs.length; i++) {
  if (cs[i] instanceof ControlTypeA)
  doSomethingA();
  if (cs[i] instanceof ControlTypeB)
  doSomethingB();
  // etc.
  }
  `

  The list of `Control` objects returned will not contain any duplicates. And the list will not change over time.

  If no `Control` is supported, a zero length array is returned.

  Returns:
    the collection of `Control` objects.
  Throws:
    `IllegalStateException` - Thrown if `getControls` is called in a wrong state. See `Player` and `DataSource` for more details.

### getControl

    public Control getControl(java.lang.String controlType)

  Obtain the object that implements the specified `Control` interface.

  If the specified `Control` interface is not supported then `null` is returned.

  If the `Controllable` supports multiple objects that implement the same specified `Control` interface, only one of them will be returned. To obtain all the `Control`'s of that type, use the `getControls` method and check the list for the requested type.

  Parameters:
    `controlType` - the class name of the `Control`. The class name should be given either as the fully-qualified name of the class; or if the package of the class is not given, the package `javax.microedition.media.control` is assumed.
  Returns:
    the object that implements the control, or `null`.
  Throws:
    `IllegalArgumentException` - Thrown if `controlType` is `null`.
    `IllegalStateException` - Thrown if `getControl` is called in a wrong state. See `Player` and `DataSource` for more details.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright 2002 Sun Microsystems, Inc.; Nokia Corporation. See the Copyright Notice and Specification License for more details.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD