equal
deleted
inserted
replaced
54 |
54 |
55 import sun.awt.datatransfer.DataTransferer; |
55 import sun.awt.datatransfer.DataTransferer; |
56 import sun.awt.datatransfer.ToolkitThreadBlockedHandler; |
56 import sun.awt.datatransfer.ToolkitThreadBlockedHandler; |
57 |
57 |
58 import java.io.ByteArrayOutputStream; |
58 import java.io.ByteArrayOutputStream; |
|
59 import java.util.stream.Stream; |
59 |
60 |
60 /** |
61 /** |
61 * Platform-specific support for the data transfer subsystem. |
62 * Platform-specific support for the data transfer subsystem. |
62 */ |
63 */ |
63 public class XDataTransferer extends DataTransferer { |
64 public class XDataTransferer extends DataTransferer { |
278 |
279 |
279 BufferedReader reader = null; |
280 BufferedReader reader = null; |
280 try { |
281 try { |
281 reader = new BufferedReader(new InputStreamReader(stream, charset)); |
282 reader = new BufferedReader(new InputStreamReader(stream, charset)); |
282 String line; |
283 String line; |
283 ArrayList<URI> uriList = new ArrayList<URI>(); |
284 ArrayList<URI> uriList = new ArrayList<>(); |
284 URI uri; |
285 URI uri; |
285 while ((line = reader.readLine()) != null) { |
286 while ((line = reader.readLine()) != null) { |
286 try { |
287 try { |
287 uri = new URI(line); |
288 uri = new URI(line); |
288 } catch (URISyntaxException uriSyntaxException) { |
289 } catch (URISyntaxException uriSyntaxException) { |
326 * types. |
327 * types. |
327 * To meet this requirement we check if the passed native format constitutes |
328 * To meet this requirement we check if the passed native format constitutes |
328 * a valid MIME and return a list of flavors to which the data in this MIME |
329 * a valid MIME and return a list of flavors to which the data in this MIME |
329 * type can be translated by the Data Transfer subsystem. |
330 * type can be translated by the Data Transfer subsystem. |
330 */ |
331 */ |
331 public List <DataFlavor> getPlatformMappingsForNative(String nat) { |
332 @Override |
332 List <DataFlavor> flavors = new ArrayList(); |
333 public List<DataFlavor> getPlatformMappingsForNative(String nat) { |
|
334 List<DataFlavor> flavors = new ArrayList<>(); |
333 |
335 |
334 if (nat == null) { |
336 if (nat == null) { |
335 return flavors; |
337 return flavors; |
336 } |
338 } |
337 |
339 |
387 * types. |
389 * types. |
388 * To meet this requirement we return a list of formats that represent |
390 * To meet this requirement we return a list of formats that represent |
389 * MIME types to which the data in this flavor can be translated by the Data |
391 * MIME types to which the data in this flavor can be translated by the Data |
390 * Transfer subsystem. |
392 * Transfer subsystem. |
391 */ |
393 */ |
392 public List getPlatformMappingsForFlavor(DataFlavor df) { |
394 @Override |
393 List natives = new ArrayList(1); |
395 public List<String> getPlatformMappingsForFlavor(DataFlavor df) { |
|
396 List<String> natives = new ArrayList<>(1); |
394 |
397 |
395 if (df == null) { |
398 if (df == null) { |
396 return natives; |
399 return natives; |
397 } |
400 } |
398 |
401 |
414 } |
417 } |
415 |
418 |
416 if (DataFlavor.imageFlavor.equals(df)) { |
419 if (DataFlavor.imageFlavor.equals(df)) { |
417 String[] mimeTypes = ImageIO.getWriterMIMETypes(); |
420 String[] mimeTypes = ImageIO.getWriterMIMETypes(); |
418 if (mimeTypes != null) { |
421 if (mimeTypes != null) { |
419 for (int i = 0; i < mimeTypes.length; i++) { |
422 for (String mime : mimeTypes) { |
420 Iterator writers = |
423 Iterator<ImageWriter> writers = ImageIO.getImageWritersByMIMEType(mime); |
421 ImageIO.getImageWritersByMIMEType(mimeTypes[i]); |
|
422 |
|
423 while (writers.hasNext()) { |
424 while (writers.hasNext()) { |
424 ImageWriter imageWriter = (ImageWriter)writers.next(); |
425 ImageWriter imageWriter = writers.next(); |
425 ImageWriterSpi writerSpi = |
426 ImageWriterSpi writerSpi = imageWriter.getOriginatingProvider(); |
426 imageWriter.getOriginatingProvider(); |
|
427 |
427 |
428 if (writerSpi != null && |
428 if (writerSpi != null && |
429 writerSpi.canEncodeImage(getDefaultImageTypeSpecifier())) { |
429 writerSpi.canEncodeImage(getDefaultImageTypeSpecifier())) { |
430 natives.add(mimeTypes[i]); |
430 natives.add(mime); |
431 break; |
431 break; |
432 } |
432 } |
433 } |
433 } |
434 } |
434 } |
435 } |
435 } |