src/share/classes/sun/awt/datatransfer/DataTransferer.java

Print this page

        

*** 2404,2422 **** } return retval; } /** - * Helper function to reduce a Map with DataFlavor keys to a DataFlavor - * array. The array will be sorted according to - * <code>DataFlavorComparator</code>. - */ - public static DataFlavor[] keysToDataFlavorArray(Map map) { - return setToSortedDataFlavorArray(map.keySet(), map); - } - - /** * Helper function to convert a Set of DataFlavors to a sorted array. * The array will be sorted according to <code>DataFlavorComparator</code>. */ public static DataFlavor[] setToSortedDataFlavorArray(Set flavorsSet) { DataFlavor[] flavors = new DataFlavor[flavorsSet.size()]; --- 2404,2413 ----
*** 2426,2453 **** Arrays.sort(flavors, comparator); return flavors; } /** - * Helper function to convert a Set of DataFlavors to a sorted array. - * The array will be sorted according to a - * <code>DataFlavorComparator</code> created with the specified - * flavor-to-native map as an argument. - */ - public static DataFlavor[] setToSortedDataFlavorArray - (Set flavorsSet, Map flavorToNativeMap) - { - DataFlavor[] flavors = new DataFlavor[flavorsSet.size()]; - flavorsSet.toArray(flavors); - Comparator comparator = - new DataFlavorComparator(flavorToNativeMap, - IndexedComparator.SELECT_WORST); - Arrays.sort(flavors, comparator); - return flavors; - } - - /** * Helper function to convert an InputStream to a byte[] array. */ protected static byte[] inputStreamToByteArray(InputStream str) throws IOException { --- 2417,2426 ----
*** 2722,2736 **** * DataFlavor.selectBestTextFlavor. For non-text flavors, unknown * application MIME types are preferred, followed by known * application/x-java-* MIME types. Unknown application types are preferred * because if the user provides his own data flavor, it will likely be the * most descriptive one. For flavors which are otherwise equal, the ! * flavors' native formats are compared, with greater long values ! * taking precedence. */ public static class DataFlavorComparator extends IndexedComparator { - protected final Map flavorToFormatMap; private final CharsetComparator charsetComparator; private static final Map exactTypes; private static final Map primaryTypes; --- 2695,2707 ---- * DataFlavor.selectBestTextFlavor. For non-text flavors, unknown * application MIME types are preferred, followed by known * application/x-java-* MIME types. Unknown application types are preferred * because if the user provides his own data flavor, it will likely be the * most descriptive one. For flavors which are otherwise equal, the ! * flavors' string representation are compared in the alphabetical order. */ public static class DataFlavorComparator extends IndexedComparator { private final CharsetComparator charsetComparator; private static final Map exactTypes; private static final Map primaryTypes;
*** 2862,2885 **** public DataFlavorComparator(boolean order) { super(order); charsetComparator = new CharsetComparator(order); - flavorToFormatMap = Collections.EMPTY_MAP; - } - - public DataFlavorComparator(Map map) { - this(map, SELECT_BEST); - } - - public DataFlavorComparator(Map map, boolean order) { - super(order); - - charsetComparator = new CharsetComparator(order); - HashMap hashMap = new HashMap(map.size()); - hashMap.putAll(map); - flavorToFormatMap = Collections.unmodifiableMap(hashMap); } public int compare(Object obj1, Object obj2) { DataFlavor flavor1 = null; DataFlavor flavor2 = null; --- 2833,2842 ----
*** 2971,2984 **** if (comp != 0) { return comp; } } ! // As a last resort, take the DataFlavor with the greater integer ! // format. ! return compareLongs(flavorToFormatMap, flavor1, flavor2, ! UNKNOWN_OBJECT_LOSES_L); } } /* * Given the Map that maps objects to Integer indices and a boolean value, --- 2928,2940 ---- if (comp != 0) { return comp; } } ! // The flavours are not equal but still not distinguishable. ! // Compare String representations in alphabetical order ! return flavor1.getMimeType().compareTo(flavor2.getMimeType()); } } /* * Given the Map that maps objects to Integer indices and a boolean value,