35 import java.text.Normalizer.Form; 36 import java.util.*; 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 }; 57 58 static { 59 Map<String, Long> nameMap = new HashMap<>(predefinedClipboardNames.length, 1.0f); 60 Map<Long, String> formatMap = new HashMap<>(predefinedClipboardNames.length, 1.0f); 61 for (int i = 1; i < predefinedClipboardNames.length; i++) { 62 nameMap.put(predefinedClipboardNames[i], (long) i); 63 formatMap.put((long) i, predefinedClipboardNames[i]); 64 } 65 predefinedClipboardNameMap = Collections.synchronizedMap(nameMap); 66 predefinedClipboardFormatMap = Collections.synchronizedMap(formatMap); 67 } 68 69 public static final int CF_UNSUPPORTED = 0; 70 public static final int CF_STRING = 1; 71 public static final int CF_FILE = 2; 72 public static final int CF_TIFF = 3; 73 public static final int CF_RICH_TEXT = 4; 74 public static final int CF_HTML = 5; 75 public static final int CF_PDF = 6; 76 public static final int CF_URL = 7; 77 public static final int CF_PNG = 10; 78 public static final int CF_JPEG = 11; 79 80 private CDataTransferer() {} 81 82 private static CDataTransferer fTransferer; 83 84 static synchronized CDataTransferer getInstanceImpl() { 85 if (fTransferer == null) { 86 fTransferer = new CDataTransferer(); 87 } 88 89 return fTransferer; 90 } 91 92 @Override 93 public String getDefaultUnicodeEncoding() { 94 return "utf-16le"; 95 } 96 97 @Override 98 public boolean isLocaleDependentTextFormat(long format) { | 35 import java.text.Normalizer.Form; 36 import java.util.*; 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) { |