#
# Copyright (c) 2015, 2017, 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.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name java/awt/datatransfer/Clipboard
header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
field name owner descriptor Ljava/awt/datatransfer/ClipboardOwner; flags 4
field name contents descriptor Ljava/awt/datatransfer/Transferable; flags 4
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name getName descriptor ()Ljava/lang/String; flags 1
method name setContents descriptor (Ljava/awt/datatransfer/Transferable;Ljava/awt/datatransfer/ClipboardOwner;)V flags 21
method name getContents descriptor (Ljava/lang/Object;)Ljava/awt/datatransfer/Transferable; flags 21
method name getAvailableDataFlavors descriptor ()[Ljava/awt/datatransfer/DataFlavor; flags 1
method name isDataFlavorAvailable descriptor (Ljava/awt/datatransfer/DataFlavor;)Z flags 1
method name getData descriptor (Ljava/awt/datatransfer/DataFlavor;)Ljava/lang/Object; thrownTypes java/awt/datatransfer/UnsupportedFlavorException,java/io/IOException flags 1
method name addFlavorListener descriptor (Ljava/awt/datatransfer/FlavorListener;)V flags 21
method name removeFlavorListener descriptor (Ljava/awt/datatransfer/FlavorListener;)V flags 21
method name getFlavorListeners descriptor ()[Ljava/awt/datatransfer/FlavorListener; flags 21

class name java/awt/datatransfer/ClipboardOwner
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
method name lostOwnership descriptor (Ljava/awt/datatransfer/Clipboard;Ljava/awt/datatransfer/Transferable;)V flags 401

class name java/awt/datatransfer/DataFlavor
header extends java/lang/Object implements java/io/Externalizable,java/lang/Cloneable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
field name stringFlavor descriptor Ljava/awt/datatransfer/DataFlavor; flags 19
field name imageFlavor descriptor Ljava/awt/datatransfer/DataFlavor; flags 19
field name plainTextFlavor descriptor Ljava/awt/datatransfer/DataFlavor; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
field name javaSerializedObjectMimeType descriptor Ljava/lang/String; constantValue application/x-java-serialized-object flags 19
field name javaFileListFlavor descriptor Ljava/awt/datatransfer/DataFlavor; flags 19
field name javaJVMLocalObjectMimeType descriptor Ljava/lang/String; constantValue application/x-java-jvm-local-objectref flags 19
field name javaRemoteObjectMimeType descriptor Ljava/lang/String; constantValue application/x-java-remote-object flags 19
field name selectionHtmlFlavor descriptor Ljava/awt/datatransfer/DataFlavor; flags 9
field name fragmentHtmlFlavor descriptor Ljava/awt/datatransfer/DataFlavor; flags 9
field name allHtmlFlavor descriptor Ljava/awt/datatransfer/DataFlavor; flags 9
method name tryToLoadClass descriptor (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class; thrownTypes java/lang/ClassNotFoundException flags 1c signature (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class<*>;
method name <init> descriptor ()V flags 1
method name <init> descriptor (Ljava/lang/Class;Ljava/lang/String;)V flags 1 signature (Ljava/lang/Class<*>;Ljava/lang/String;)V
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;)V flags 1
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V thrownTypes java/lang/ClassNotFoundException flags 1
method name <init> descriptor (Ljava/lang/String;)V thrownTypes java/lang/ClassNotFoundException flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name getTextPlainUnicodeFlavor descriptor ()Ljava/awt/datatransfer/DataFlavor; flags 19
method name selectBestTextFlavor descriptor ([Ljava/awt/datatransfer/DataFlavor;)Ljava/awt/datatransfer/DataFlavor; flags 19
method name getReaderForText descriptor (Ljava/awt/datatransfer/Transferable;)Ljava/io/Reader; thrownTypes java/awt/datatransfer/UnsupportedFlavorException,java/io/IOException flags 1
method name getMimeType descriptor ()Ljava/lang/String; flags 1
method name getRepresentationClass descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>;
method name getHumanPresentableName descriptor ()Ljava/lang/String; flags 1
method name getPrimaryType descriptor ()Ljava/lang/String; flags 1
method name getSubType descriptor ()Ljava/lang/String; flags 1
method name getParameter descriptor (Ljava/lang/String;)Ljava/lang/String; flags 1
method name setHumanPresentableName descriptor (Ljava/lang/String;)V flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name equals descriptor (Ljava/awt/datatransfer/DataFlavor;)Z flags 1
method name equals descriptor (Ljava/lang/String;)Z flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
method name hashCode descriptor ()I flags 1
method name match descriptor (Ljava/awt/datatransfer/DataFlavor;)Z flags 1
method name isMimeTypeEqual descriptor (Ljava/lang/String;)Z flags 1
method name isMimeTypeEqual descriptor (Ljava/awt/datatransfer/DataFlavor;)Z flags 11
method name isMimeTypeSerializedObject descriptor ()Z flags 1
method name getDefaultRepresentationClass descriptor ()Ljava/lang/Class; flags 11 signature ()Ljava/lang/Class<*>;
method name getDefaultRepresentationClassAsString descriptor ()Ljava/lang/String; flags 11
method name isRepresentationClassInputStream descriptor ()Z flags 1
method name isRepresentationClassReader descriptor ()Z flags 1
method name isRepresentationClassCharBuffer descriptor ()Z flags 1
method name isRepresentationClassByteBuffer descriptor ()Z flags 1
method name isRepresentationClassSerializable descriptor ()Z flags 1
method name isRepresentationClassRemote descriptor ()Z flags 1
method name isFlavorSerializedObjectType descriptor ()Z flags 1
method name isFlavorRemoteObjectType descriptor ()Z flags 1
method name isFlavorJavaFileListType descriptor ()Z flags 1
method name isFlavorTextType descriptor ()Z flags 1
method name writeExternal descriptor (Ljava/io/ObjectOutput;)V thrownTypes java/io/IOException flags 21
method name readExternal descriptor (Ljava/io/ObjectInput;)V thrownTypes java/io/IOException,java/lang/ClassNotFoundException flags 21
method name clone descriptor ()Ljava/lang/Object; thrownTypes java/lang/CloneNotSupportedException flags 1
method name normalizeMimeTypeParameter descriptor (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; flags 4 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
method name normalizeMimeType descriptor (Ljava/lang/String;)Ljava/lang/String; flags 4 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;

class name java/awt/datatransfer/FlavorEvent
header extends java/util/EventObject flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
method name <init> descriptor (Ljava/awt/datatransfer/Clipboard;)V flags 1

class name java/awt/datatransfer/FlavorListener
header extends java/lang/Object implements java/util/EventListener flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
method name flavorsChanged descriptor (Ljava/awt/datatransfer/FlavorEvent;)V flags 401

class name java/awt/datatransfer/FlavorMap
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
method name getNativesForFlavors descriptor ([Ljava/awt/datatransfer/DataFlavor;)Ljava/util/Map; flags 401 signature ([Ljava/awt/datatransfer/DataFlavor;)Ljava/util/Map<Ljava/awt/datatransfer/DataFlavor;Ljava/lang/String;>;
method name getFlavorsForNatives descriptor ([Ljava/lang/String;)Ljava/util/Map; flags 401 signature ([Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/awt/datatransfer/DataFlavor;>;

class name java/awt/datatransfer/FlavorTable
header extends java/lang/Object implements java/awt/datatransfer/FlavorMap flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
method name getNativesForFlavor descriptor (Ljava/awt/datatransfer/DataFlavor;)Ljava/util/List; flags 401 signature (Ljava/awt/datatransfer/DataFlavor;)Ljava/util/List<Ljava/lang/String;>;
method name getFlavorsForNative descriptor (Ljava/lang/String;)Ljava/util/List; flags 401 signature (Ljava/lang/String;)Ljava/util/List<Ljava/awt/datatransfer/DataFlavor;>;

class name java/awt/datatransfer/MimeTypeParseException
header extends java/lang/Exception flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
method name <init> descriptor ()V flags 1
method name <init> descriptor (Ljava/lang/String;)V flags 1

class name java/awt/datatransfer/StringSelection
header extends java/lang/Object implements java/awt/datatransfer/Transferable,java/awt/datatransfer/ClipboardOwner flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name getTransferDataFlavors descriptor ()[Ljava/awt/datatransfer/DataFlavor; flags 1
method name isDataFlavorSupported descriptor (Ljava/awt/datatransfer/DataFlavor;)Z flags 1
method name getTransferData descriptor (Ljava/awt/datatransfer/DataFlavor;)Ljava/lang/Object; thrownTypes java/awt/datatransfer/UnsupportedFlavorException,java/io/IOException flags 1
method name lostOwnership descriptor (Ljava/awt/datatransfer/Clipboard;Ljava/awt/datatransfer/Transferable;)V flags 1

class name java/awt/datatransfer/SystemFlavorMap
header extends java/lang/Object implements java/awt/datatransfer/FlavorMap,java/awt/datatransfer/FlavorTable flags 31 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
method name getDefaultFlavorMap descriptor ()Ljava/awt/datatransfer/FlavorMap; flags 9
method name getNativesForFlavor descriptor (Ljava/awt/datatransfer/DataFlavor;)Ljava/util/List; flags 21 signature (Ljava/awt/datatransfer/DataFlavor;)Ljava/util/List<Ljava/lang/String;>;
method name getFlavorsForNative descriptor (Ljava/lang/String;)Ljava/util/List; flags 21 signature (Ljava/lang/String;)Ljava/util/List<Ljava/awt/datatransfer/DataFlavor;>;
method name getNativesForFlavors descriptor ([Ljava/awt/datatransfer/DataFlavor;)Ljava/util/Map; flags 21 signature ([Ljava/awt/datatransfer/DataFlavor;)Ljava/util/Map<Ljava/awt/datatransfer/DataFlavor;Ljava/lang/String;>;
method name getFlavorsForNatives descriptor ([Ljava/lang/String;)Ljava/util/Map; flags 21 signature ([Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/awt/datatransfer/DataFlavor;>;
method name addUnencodedNativeForFlavor descriptor (Ljava/awt/datatransfer/DataFlavor;Ljava/lang/String;)V flags 21
method name setNativesForFlavor descriptor (Ljava/awt/datatransfer/DataFlavor;[Ljava/lang/String;)V flags 21
method name addFlavorForUnencodedNative descriptor (Ljava/lang/String;Ljava/awt/datatransfer/DataFlavor;)V flags 21
method name setFlavorsForNative descriptor (Ljava/lang/String;[Ljava/awt/datatransfer/DataFlavor;)V flags 21
method name encodeJavaMIMEType descriptor (Ljava/lang/String;)Ljava/lang/String; flags 9
method name encodeDataFlavor descriptor (Ljava/awt/datatransfer/DataFlavor;)Ljava/lang/String; flags 9
method name isJavaMIMEType descriptor (Ljava/lang/String;)Z flags 9
method name decodeJavaMIMEType descriptor (Ljava/lang/String;)Ljava/lang/String; flags 9
method name decodeDataFlavor descriptor (Ljava/lang/String;)Ljava/awt/datatransfer/DataFlavor; thrownTypes java/lang/ClassNotFoundException flags 9

class name java/awt/datatransfer/Transferable
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
method name getTransferDataFlavors descriptor ()[Ljava/awt/datatransfer/DataFlavor; flags 401
method name isDataFlavorSupported descriptor (Ljava/awt/datatransfer/DataFlavor;)Z flags 401
method name getTransferData descriptor (Ljava/awt/datatransfer/DataFlavor;)Ljava/lang/Object; thrownTypes java/awt/datatransfer/UnsupportedFlavorException,java/io/IOException flags 401

class name java/awt/datatransfer/UnsupportedFlavorException
header extends java/lang/Exception flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4)
method name <init> descriptor (Ljava/awt/datatransfer/DataFlavor;)V flags 1

