FileDocCategorySizeDatePackage
Controllable.javaAPI DocJ2ME MIDP 2.03405Thu Nov 07 12:02:30 GMT 2002javax.microedition.media

Controllable

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

Fields Summary
Constructors Summary
Methods Summary
public ControlgetControl(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.

param
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.
return
the object that implements the control, or null.
exception
IllegalArgumentException Thrown if controlType is null.
exception
IllegalStateException Thrown if getControl is called in a wrong state. See Player for more details.

public Control[]getControls()
Obtain the collection of Controls 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.

return
the collection of Control objects.
exception
IllegalStateException Thrown if getControls is called in a wrong state. See Player for more details.