37
38 import java.awt.datatransfer.*;
39 import sun.awt.datatransfer.*;
40
41 public class CDataTransferer extends DataTransferer {
42 private static final Map<String, Long> predefinedClipboardNameMap;
43 private static final Map<Long, String> predefinedClipboardFormatMap;
44
45 // See SystemFlavorMap, or the flavormap.properties file:
46 // We should define a few more types in flavormap.properties, it's rather slim now.
47 private static final String[] predefinedClipboardNames = {
48 "",
49 "STRING",
50 "FILE_NAME",
51 "TIFF",
52 "RICH_TEXT",
53 "HTML",
54 "PDF",
55 "URL",
56 "PNG",
57 "JFIF"
58 };
59
60 static {
61 Map<String, Long> nameMap = new HashMap<>(predefinedClipboardNames.length, 1.0f);
62 Map<Long, String> formatMap = new HashMap<>(predefinedClipboardNames.length, 1.0f);
63 for (int i = 1; i < predefinedClipboardNames.length; i++) {
64 nameMap.put(predefinedClipboardNames[i], (long) i);
65 formatMap.put((long) i, predefinedClipboardNames[i]);
66 }
67 predefinedClipboardNameMap = Collections.synchronizedMap(nameMap);
68 predefinedClipboardFormatMap = Collections.synchronizedMap(formatMap);
69 }
70
71 public static final int CF_UNSUPPORTED = 0;
72 public static final int CF_STRING = 1;
73 public static final int CF_FILE = 2;
74 public static final int CF_TIFF = 3;
75 public static final int CF_RICH_TEXT = 4;
76 public static final int CF_HTML = 5;
77 public static final int CF_PDF = 6;
78 public static final int CF_URL = 7;
79 public static final int CF_PNG = 8;
80 public static final int CF_JPEG = 9;
81
82 private CDataTransferer() {}
83
84 private static CDataTransferer fTransferer;
85
86 static synchronized CDataTransferer getInstanceImpl() {
87 if (fTransferer == null) {
88 fTransferer = new CDataTransferer();
89 }
90
91 return fTransferer;
92 }
93
94 @Override
95 public String getDefaultUnicodeEncoding() {
96 return "utf-16le";
97 }
98
99 @Override
100 public boolean isLocaleDependentTextFormat(long format) {
|
37
38 import java.awt.datatransfer.*;
39 import sun.awt.datatransfer.*;
40
41 public class CDataTransferer extends DataTransferer {
42 private static final Map<String, Long> predefinedClipboardNameMap;
43 private static final Map<Long, String> predefinedClipboardFormatMap;
44
45 // See SystemFlavorMap, or the flavormap.properties file:
46 // We should define a few more types in flavormap.properties, it's rather slim now.
47 private static final String[] predefinedClipboardNames = {
48 "",
49 "STRING",
50 "FILE_NAME",
51 "TIFF",
52 "RICH_TEXT",
53 "HTML",
54 "PDF",
55 "URL",
56 "PNG",
57 "JFIF",
58 "XPICT"
59 };
60
61 static {
62 Map<String, Long> nameMap = new HashMap<>(predefinedClipboardNames.length, 1.0f);
63 Map<Long, String> formatMap = new HashMap<>(predefinedClipboardNames.length, 1.0f);
64 for (int i = 1; i < predefinedClipboardNames.length; i++) {
65 nameMap.put(predefinedClipboardNames[i], (long) i);
66 formatMap.put((long) i, predefinedClipboardNames[i]);
67 }
68 predefinedClipboardNameMap = Collections.synchronizedMap(nameMap);
69 predefinedClipboardFormatMap = Collections.synchronizedMap(formatMap);
70 }
71
72 public static final int CF_UNSUPPORTED = 0;
73 public static final int CF_STRING = 1;
74 public static final int CF_FILE = 2;
75 public static final int CF_TIFF = 3;
76 public static final int CF_RICH_TEXT = 4;
77 public static final int CF_HTML = 5;
78 public static final int CF_PDF = 6;
79 public static final int CF_URL = 7;
80 public static final int CF_PNG = 8;
81 public static final int CF_JPEG = 9;
82 public static final int CF_XPICT = 10;
83
84 private CDataTransferer() {}
85
86 private static CDataTransferer fTransferer;
87
88 static synchronized CDataTransferer getInstanceImpl() {
89 if (fTransferer == null) {
90 fTransferer = new CDataTransferer();
91 }
92
93 return fTransferer;
94 }
95
96 @Override
97 public String getDefaultUnicodeEncoding() {
98 return "utf-16le";
99 }
100
101 @Override
102 public boolean isLocaleDependentTextFormat(long format) {
|