]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.ui/src/org/simantics/ui/dnd/PlaintextTransfer.java
Sync git svn branch with SVN repository r33269.
[simantics/platform.git] / bundles / org.simantics.ui / src / org / simantics / ui / dnd / PlaintextTransfer.java
1 package org.simantics.ui.dnd;\r
2 \r
3 import java.awt.datatransfer.DataFlavor;\r
4 import java.awt.datatransfer.Transferable;\r
5 import java.awt.datatransfer.UnsupportedFlavorException;\r
6 import java.io.ByteArrayInputStream;\r
7 import java.io.IOException;\r
8 \r
9 public class PlaintextTransfer implements Transferable {\r
10         \r
11         final String content;\r
12         \r
13         final DataFlavor flavor = DataFlavor.getTextPlainUnicodeFlavor();\r
14         final DataFlavor[] flavors = new DataFlavor[] { flavor };\r
15         final String flavorCharset = flavor.getParameter("charset");\r
16         \r
17         public PlaintextTransfer(String content) {\r
18                 this.content = content;\r
19         }\r
20 \r
21         @Override\r
22         public Object getTransferData(DataFlavor arg0) throws UnsupportedFlavorException, IOException {\r
23                 if(flavor.equals(arg0)) {\r
24                         byte[] bytes = content.getBytes(flavorCharset);\r
25                         return new ByteArrayInputStream(bytes);\r
26                 }\r
27                 return null;\r
28         }\r
29 \r
30         @Override\r
31         public DataFlavor[] getTransferDataFlavors() {\r
32                 return flavors;\r
33         }\r
34 \r
35         @Override\r
36         public boolean isDataFlavorSupported(DataFlavor arg0) {\r
37                 return flavor.equals(arg0);\r
38         }\r
39 \r
40 }\r