package org.simantics.ui.dnd; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.ByteArrayInputStream; import java.io.IOException; public class PlaintextTransfer implements Transferable { final String content; final DataFlavor flavor = DataFlavor.getTextPlainUnicodeFlavor(); final DataFlavor[] flavors = new DataFlavor[] { flavor }; final String flavorCharset = flavor.getParameter("charset"); public PlaintextTransfer(String content) { this.content = content; } @Override public Object getTransferData(DataFlavor arg0) throws UnsupportedFlavorException, IOException { if(flavor.equals(arg0)) { byte[] bytes = content.getBytes(flavorCharset); return new ByteArrayInputStream(bytes); } return null; } @Override public DataFlavor[] getTransferDataFlavors() { return flavors; } @Override public boolean isDataFlavorSupported(DataFlavor arg0) { return flavor.equals(arg0); } }