/* * @(#)Controls.java 1.2 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package javax.media; /** * * <code>Controls</code> provides an interface for * obtaining objects by interface or class name. * This is useful in the case where support for a particular * interface cannot be determined at runtime, or where a * different object is required to implement the behavior. * The <code>object</code> returned from <code>getControl</code> * is assumed to control the <code>object</code> that * <code>getControl</code> was invoked on. **/ public interface Controls { /** * Obtain the collection of objects that * control the object that implements this interface. * <p> * * If no controls are supported, a zero length * array is returned. * * @return the collection of object controls */ public Object[] getControls(); /** * Obtain the object that implements the specified * <code>Class</code> or <code>Interface</code> * The full class or interface name must be used. * <p> * * If the control is not supported then <code>null</code> * is returned. * * @return the object that implements the control, * or <code>null</code>. */ public Object getControl(String controlType); }