Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files
8259519: The java.awt.datatransfer.DataFlavor#ioInputStreamClass fiel…
…d is redundant

Reviewed-by: aivanov
  • Loading branch information
mrserb committed Jan 13, 2021
1 parent 65bed64 commit 0957d9eb1452b953c1a700ce7ea41155c22bc00e
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 3 deletions.
@@ -117,7 +117,6 @@ public class DataFlavor implements Externalizable, Cloneable {
*/
@Serial
private static final long serialVersionUID = 8367026044764648243L;
private static final Class<InputStream> ioInputStreamClass = InputStream.class;

/**
* Tries to load a class from: the bootstrap loader, the system loader, the
@@ -1144,7 +1143,7 @@ public boolean isMimeTypeSerializedObject() {
* @return the default representation class
*/
public final Class<?> getDefaultRepresentationClass() {
return ioInputStreamClass;
return java.io.InputStream.class;
}

/**
@@ -1163,7 +1162,7 @@ public final String getDefaultRepresentationClassAsString() {
* {@code java.io.InputStream}
*/
public boolean isRepresentationClassInputStream() {
return ioInputStreamClass.isAssignableFrom(representationClass);
return java.io.InputStream.class.isAssignableFrom(representationClass);
}

/**
@@ -0,0 +1,50 @@
/*
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/

import java.awt.datatransfer.DataFlavor;
import java.io.InputStream;

/**
* @test
* @bug 8259519
* @summary InputStream should be used as a default data flavor representation
*/
public final class DefaultRepresentation extends InputStream {

public static void main(String[] args) {
DataFlavor df = new DataFlavor(DefaultRepresentation.class, "stream");
if (df.getDefaultRepresentationClass() != InputStream.class) {
// default representation class is not specified!
// this check just defends against accidental changes
throw new RuntimeException("InputStream class is expected");
}
if (!df.isRepresentationClassInputStream()) {
throw new RuntimeException("true is expected");
}
}

@Override
public int read() {
return 0;
}
}

0 comments on commit 0957d9e

Please sign in to comment.