package org.openflexo.fib.editor.controller; import java.awt.Point; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; public abstract class ElementDrag<T> implements Transferable { public static final DataFlavor DEFAULT_FLAVOR = new DataFlavor(ElementDrag.class, "PaletteElement"); private T _transferedData; public ElementDrag(T transferedData, Point dragOrigin) { _transferedData = transferedData; } @Override public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[] { DEFAULT_FLAVOR }; } @Override public boolean isDataFlavorSupported(DataFlavor flavor) { return true; } @Override public T getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { return _transferedData; } }