- /*
 - * @(#)Transferable.java 1.8 00/02/02
 - *
 - * Copyright 1996-2000 Sun Microsystems, Inc. All Rights Reserved.
 - *
 - * This software is the proprietary information of Sun Microsystems, Inc.
 - * Use is subject to license terms.
 - *
 - */
 - package java.awt.datatransfer;
 - import java.io.IOException;
 - /**
 - * Defines the interface for classes that can be used to provide data
 - * for a transfer operation.
 - *
 - * @version 1.8, 02/02/00
 - * @author Amy Fowler
 - */
 - public interface Transferable {
 - /**
 - * Returns an array of DataFlavor objects indicating the flavors the data
 - * can be provided in. The array should be ordered according to preference
 - * for providing the data (from most richly descriptive to least descriptive).
 - * @return an array of data flavors in which this data can be transferred
 - */
 - public DataFlavor[] getTransferDataFlavors();
 - /**
 - * Returns whether or not the specified data flavor is supported for
 - * this object.
 - * @param flavor the requested flavor for the data
 - * @return boolean indicating wjether or not the data flavor is supported
 - */
 - public boolean isDataFlavorSupported(DataFlavor flavor);
 - /**
 - * Returns an object which represents the data to be transferred. The class
 - * of the object returned is defined by the representation class of the flavor.
 - *
 - * @param flavor the requested flavor for the data
 - * @see DataFlavor#getRepresentationClass
 - * @exception IOException if the data is no longer available
 - * in the requested flavor.
 - * @exception UnsupportedFlavorException if the requested data flavor is
 - * not supported.
 - */
 - public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException;
 - }