src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java

Print this page




  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) {