1 /** 2 * @(#)AccessibleStreamable.java 1.3 03/12/19 3 * 4 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 6 */ 7 8 package javax.accessibility; 9 10 import java.io.InputStream; 11 import java.awt.datatransfer.DataFlavor; 12 13 /* 14 * 15 * The <code>AccessibleStreamable</code> interface should be implemented 16 * by the <code>AccessibleContext</code> of any component that presents the 17 * raw stream behind a component on the display screen. Examples of such 18 * components are HTML, bitmap images and MathML. An object that implements 19 * <code>AccessibleStreamable</code> provides two things: a list of MIME 20 * types supported by the object and a streaming interface for each MIME type to 21 * get the data. 22 * 23 * @version 1.3 12/19/03 24 * @author Lynn Monsanto 25 * @author Peter Korn 26 * 27 * @see javax.accessibility.AccessibleContext 28 * @since 1.5 29 */ 30 public interface AccessibleStreamable { 31 /** 32 * Returns an array of DataFlavor objects for the MIME types 33 * this object supports. 34 * 35 * @return an array of DataFlavor objects for the MIME types 36 * this object supports. 37 */ 38 DataFlavor[] getMimeTypes(); 39 40 /** 41 * Returns an InputStream for a DataFlavor 42 * 43 * @param flavor the DataFlavor 44 * @return an ImputStream if an ImputStream for this DataFlavor exists. 45 * Otherwise, null is returned. 46 */ 47 InputStream getStream(DataFlavor flavor); 48 } 49