package org.archstudio.bna.ui;
import org.archstudio.bna.constants.DNDData;
import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.dnd.TransferData;
/**
* An interface for {@link Transfer} types used in DND operations. Implementations of this class must extend
* {@link Transfer} and implement a public static method that returns the singleton instance of the type:
*
* <pre>
* <code>
* public static Transfer getInstance() {...};
* </code>
* </pre>
*
* @author sahendrickson@gmail.com (Scott A. Hendrickson)
*/
public interface IUITransferProvider {
/**
* Method signature for {@link Transfer#isSupportedType(TransferData)}.
*/
public boolean isSupportedType(TransferData transferData);
/**
* Adds the data from <code>transferData</code> to <code>dndData</code>.
*
* @param transferData
* The {@link TransferData} containing the DND source data.
* @param dndData
* The {@link DNDData} to receive the data.
*/
public void addData(TransferData transferData, DNDData dndData);
}