Spec-Zone.ru › OpenJDK 21

Класс DataFlavor

java.lang.Object
java.awt.datatransfer.DataFlavor
Все реализованные интерфейсы:
Externalizable, Serializable, Cloneable
public class DataFlavor extends Object implements Externalizable, Cloneable
Класс `DataFlavor` предоставляет метаинформацию о данных. Он обычно используется для доступа к данным в буфере обмена или во время операции перетаскивания.

Экземпляр `DataFlavor` инкапсулирует тип содержимого, как определено в RFC 2045 и RFC 2046. Тип содержимого обычно называется типом MIME.

Тип содержимого состоит из типа носителя (называемого основным типом), подтипа и необязательных параметров. Подробную информацию о синтаксисе типа MIME см. в RFC 2045.

Реализация передачи данных JRE интерпретирует параметр "class" типа MIME как класс представления. Класс представления отражает класс объекта, который передается. Другими словами, класс представления — это тип объекта, возвращаемого Transferable.getTransferData(java.awt.datatransfer.DataFlavor). Например, типом MIME для imageFlavor является "image/x-java-image;class=java.awt.Image", основной тип — image, подтип — x-java-image, а класс представления — java.awt.Image. Когда getTransferData вызывается с DataFlavor типа imageFlavor, возвращается экземпляр java.awt.Image. Важно отметить, что `DataFlavor` не выполняет проверки ошибок на предмет класса представления. От потребителей DataFlavor, таких как Transferable, зависит соблюдение класса представления.
Обратите внимание, что если при создании `DataFlavor` класс представления не указан, используется класс представления по умолчанию. См. соответствующую документацию для конструкторов DataFlavor.

Также экземпляры `DataFlavor` с основным типом MIME "text" могут иметь параметр "charset". Подробную информацию о типах MIME "text" и параметре "charset" см. в RFC 2046 и selectBestTextFlavor(java.awt.datatransfer.DataFlavor[]).

Равенство `DataFlavor` определяется основным типом, подтипом и классом представления. Подробную информацию см. в equals(DataFlavor). При определении равенства любые необязательные параметры игнорируются. Например, следующее создаёт два `DataFlavor` , которые считаются идентичными:

   DataFlavor flavor1 = new DataFlavor(Object.class, "X-test/test; class=<java.lang.Object>; foo=bar");
   DataFlavor flavor2 = new DataFlavor(Object.class, "X-test/test; class=<java.lang.Object>; x=y");
   // The following returns true.
   flavor1.equals(flavor2);
 
Как упоминалось, `DataFlavor` и `DataFlavor` считаются идентичными. Поэтому запрос к `Transferable` о любом из `DataFlavor` даёт одинаковый результат.

Для получения дополнительной информации об использовании передачи данных с Swing, см. раздел Как использовать перетаскивание и передачу данных в Учебнике Java.

С:
1.1
См. также:
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final DataFlavor allHtmlFlavor
Представляет фрагмент HTML-разметки.
static final DataFlavor fragmentHtmlFlavor
Представляет фрагмент HTML-разметки.
static final DataFlavor imageFlavor
Представляет `DataFlavor` , представляющий класс Java Image, где:
static final DataFlavor javaFileListFlavor
Для передачи списка файлов в/из Java (и базовой платформы) используется `DataFlavor` этого типа/подтипа и класса представления java.util.List.
static final String javaJVMLocalObjectMimeType
Для передачи ссылки на произвольный объект Java, у которого нет связанного MIME Content-type, через интерфейс Transferable ВНУТРИ ТОГО ЖЕ JVM используется `DataFlavor` с этим типом/подтипом, с representationClass равным типу передаваемого класса/интерфейса через Transferable.
static final String javaRemoteObjectMimeType
Для передачи активной ссылки на удалённый объект через операцию перетаскивания ACTION_LINK следует использовать MIME Content Type application/x-java-remote-object, где класс представления DataFlavor представляет тип интерфейса Remote, подлежащего передаче.
static final String javaSerializedObjectMimeType
MIME Content-Type application/x-java-serialized-object представляет собой граф объектов Java, которые были сделаны постоянными.
static final DataFlavor plainTextFlavor
Устаревший.
с версии 1.3.
static final DataFlavor selectionHtmlFlavor
Представляет фрагмент HTML-разметки.
static final DataFlavor stringFlavor
Представляет `DataFlavor` , представляющий класс Java Unicode String, где:

Краткое описание конструкторов

Конструктор Описание
DataFlavor()
Создаёт новый `DataFlavor`.
DataFlavor(Class<?> representationClass, String humanPresentableName)
Создаёт `DataFlavor` , представляющий класс Java.
DataFlavor(String mimeType)
Создаёт `DataFlavor` из строки mimeType.
DataFlavor(String mimeType, String humanPresentableName)
Создаёт `DataFlavor` , представляющий MimeType.
DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader)
Создаёт `DataFlavor` , представляющий MimeType.

Краткое описание методов

Модификатор и тип Метод Описание
Object clone()
Возвращает клонированную копию этого `DataFlavor`.
boolean equals(DataFlavor that)
Этот метод имеет такое же поведение, как equals(Object).
boolean equals(Object o)
Указывает, является ли какой-либо другой объект "равным" этому объекту.
boolean equals(String s)
Устарело.
Так как это несовместимо с контрактом hashCode() используйте isMimeTypeEqual(String) вместо этого.
final Class<?> getDefaultRepresentationClass()
Возвращает класс представления по умолчанию.
final String getDefaultRepresentationClassAsString()
Возвращает имя класса представления по умолчанию.
String getHumanPresentableName()
Возвращает удобочитаемое имя формата данных, которое представляет этот `DataFlavor`.
String getMimeType()
Возвращает строку MIME-типа для этого `DataFlavor`.
String getParameter(String paramName)
Возвращает удобочитаемое имя для этого `DataFlavor` если paramName равно "humanPresentableName".
String getPrimaryType()
Возвращает основной MIME-тип для этого `DataFlavor`.
Reader getReaderForText(Transferable transferable)
Получает чтение для текстового варианта, декодированного при необходимости, для ожидаемого набора символов (кодировки).
Class<?> getRepresentationClass()
Возвращает Class, которое объекты, поддерживающие этот `DataFlavor`, вернут при запросе этого `DataFlavor`.
String getSubType()
Возвращает подтип MIME этого DataFlavor.
static final DataFlavor getTextPlainUnicodeFlavor()
Возвращает DataFlavor, представляющий обычный текст с кодировкой Unicode, где:
int hashCode()
Возвращает хэш-код для этого DataFlavor.
boolean isFlavorJavaFileListType()
Возвращает true, если указанный DataFlavor представляет собой список объектов файлов.
boolean isFlavorRemoteObjectType()
Возвращает true, если указанный DataFlavor представляет собой удалённый объект.
boolean isFlavorSerializedObjectType()
Возвращает true, если указанный DataFlavor представляет собой сериализованный объект.
boolean isFlavorTextType()
Возвращает, является ли этот DataFlavor допустимым типом текста для данной реализации Java-платформы.
final boolean isMimeTypeEqual(DataFlavor dataFlavor)
Сравнивает mimeType двух объектов DataFlavor.
boolean isMimeTypeEqual(String mimeType)
Возвращает, эквивалентна ли строковая форма MIME типа, переданного в качестве параметра, типу MIME этого DataFlavor.
boolean isMimeTypeSerializedObject()
Представляет ли DataFlavor сериализованный объект?
boolean isRepresentationClassByteBuffer()
Возвращает, является ли класс представления для этого DataFlavor классом java.nio.ByteBuffer или его подклассом.
boolean isRepresentationClassCharBuffer()
Возвращает, является ли класс представления для этого DataFlavor классом java.nio.CharBuffer или его подклассом.
boolean isRepresentationClassInputStream()
Представляет ли DataFlavor java.io.InputStream?
boolean isRepresentationClassReader()
Возвращает, является ли класс представления для этого DataFlavor классом java.io.Reader или его подклассом.
boolean isRepresentationClassRemote()
Возвращает true, если класс представления является Remote.
boolean isRepresentationClassSerializable()
Возвращает true, если класс представления может быть сериализован.
boolean match(DataFlavor that)
Идентично equals(DataFlavor).
protected String normalizeMimeType(String mimeType)
Устаревший.
Этот метод никогда не вызывается реализацией с версии 1.1 и далее
protected String normalizeMimeTypeParameter(String parameterName, String parameterValue)
Устаревший.
Этот метод никогда не вызывается реализацией с версии 1.1 и далее
void readExternal(ObjectInput is)
Восстанавливает этот DataFlavor из сериализованного состояния.
static final DataFlavor selectBestTextFlavor(DataFlavor[] availableFlavors)
Выбирает лучший текстовый DataFlavor из массива DataFlavor.
void setHumanPresentableName(String humanPresentableName)
Устанавливает удобочитаемое имя формата данных, представляемого этим DataFlavor.
String toString()
Строковое представление этого DataFlavor и его параметров.
protected static final Class<?> tryToLoadClass(String className, ClassLoader fallback)
Пытается загрузить класс из: загрузчика начальной загрузки, загрузчика системы, загрузчика контекста (если он присутствует) и, наконец, указанного загрузчика.
void writeExternal(ObjectOutput os)
Сериализует этот DataFlavor.

Методы, объявленные в классе java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание полей

stringFlavor

public static final DataFlavor stringFlavor
Представляет собой класс Java Unicode String, где:
     representationClass = java.lang.String
     mimeType            = "application/x-java-serialized-object"
 

imageFlavor

public static final DataFlavor imageFlavor
Представляет собой класс Java Image, где:
     representationClass = java.awt.Image
     mimeType            = "image/x-java-image"
 
Будет null если java.awt.Image не отображается, модуль java.desktop не загружен или модуль java.desktop отсутствует в текущей изображении.

plainTextFlavor

@Deprecated public static final DataFlavor plainTextFlavor
Устаревший.
с версии 1.3. Используйте getReaderForText(java.awt.datatransfer.Transferable) вместо Transferable.getTransferData(DataFlavor.plainTextFlavor).
Представляет собой обычный текст с кодировкой Unicode, где:
     representationClass = InputStream
     mimeType            = "text/plain; charset=unicode"
 
Этот DataFlavor устарел, потому что:
  • Его представление — InputStream, основанное на 8-битной кодировке, в то время как Unicode — 16-битная кодировка символов.
  • Кодировка "unicode" не определена однозначно. "unicode" подразумевает реализацию Unicode на конкретной платформе, а не кроссплатформенную реализацию.

javaSerializedObjectMimeType

public static final String javaSerializedObjectMimeType
MIME Content-Type application/x-java-serialized-object представляет собой граф объектов Java, которые были сохранены.

Класс представления, связанный с этим DataFlavor , определяет тип Java объекта, возвращаемого как ссылка в результате вызова java.awt.datatransfer.getTransferData.

См. также:
  • Значения константных полей

javaFileListFlavor

public static final DataFlavor javaFileListFlavor
Для передачи списка файлов в/из Java (и базовой платформы) используется DataFlavor с этим типом/подтипом и классом представления java.util.List. Каждый элемент списка должен/гарантируется как объект типа java.io.File.

javaJVMLocalObjectMimeType

public static final String javaJVMLocalObjectMimeType
Для передачи ссылки на произвольный объект Java, у которого нет связанного MIME Content-type, через Transferable интерфейс ВНУТРИ ОДНОГО JVM, используется DataFlavor с этим типом/подтипом, с representationClass равным типу класса/интерфейса, передаваемого через Transferable.

Ссылка на объект, возвращаемая из Transferable.getTransferData для DataFlavor с этим MIME Content-Type, должна быть экземпляром класса представления DataFlavor.

См. также:
  • Значения постоянных полей

javaRemoteObjectMimeType

public static final String javaRemoteObjectMimeType
Для передачи активной ссылки на удалённый объект через операцию Перетаскивания ACTION_LINK, должен использоваться MIME Content Type application/x-java-remote-object, где класс представления DataFlavor представляет тип Remote интерфейса, который требуется передать.
См. также:
  • Значения постоянных полей

selectionHtmlFlavor

public static final DataFlavor selectionHtmlFlavor
Представляет фрагмент HTML-разметки. Разметка состоит из части, выбранной на стороне источника. Поэтому некоторые теги в разметке могут быть непарными. Если этот тип используется для представления данных в экземпляре Transferable, никаких дополнительных изменений не будет. Этот экземпляр DataFlavor представляет ту же HTML-разметку, что и экземпляры DataFlavor, содержимое MIME типа которых не содержит параметр документа, а класс представления — класс String.
     representationClass = String
     mimeType            = "text/html"
 
С:
1.8
END_OF_DOCUMENT_MARKER

fragmentHtmlFlavor

public static final DataFlavor fragmentHtmlFlavor
Представляет фрагмент HTML-разметки. Если возможно, разметка, полученная из родной системы, дополняется парными тегами, чтобы стать корректной HTML-разметкой. Если этот тип используется для представления данных в экземпляре Transferable, дополнительные изменения не будут внесены.
     representationClass = String
     mimeType            = "text/html"
 
Since:
1.8

allHtmlFlavor

public static final DataFlavor allHtmlFlavor
Представляет фрагмент HTML-разметки. Если возможно, разметка, полученная из родной системы, дополняется дополнительными тегами, чтобы образовать полный HTML-документ. Если этот тип используется для представления данных в экземпляре Transferable, дополнительные изменения не будут внесены.
     representationClass = String
     mimeType            = "text/html"
 
Since:
1.8

Подробное описание конструкторов

DataFlavor

public DataFlavor()
Создаёт новый DataFlavor. Этот конструктор предоставлен только для поддержки интерфейса Externalizable. Он не предназначен для использования в клиентских приложениях.
Since:
1.2

DataFlavor

public DataFlavor(Class<?> representationClass, String humanPresentableName)
Создаёт DataFlavor, представляющий Java-класс.

Полученный DataFlavor будет иметь следующие характеристики:

    representationClass = representationClass
    mimeType            = application/x-java-serialized-object
 
Параметры:
representationClass - класс, используемый для передачи данных в этом типе
humanPresentableName - удобочитаемая строка, используемая для идентификации этого типа; если этот параметр null, используется значение MIME Content Type
Исключения:
NullPointerException - если representationClass является null

DataFlavor

public DataFlavor(String mimeType, String humanPresentableName)
Создаёт DataFlavor, представляющий MimeType.

Возвращаемый DataFlavor будет иметь следующие характеристики:

Если mimeType равен "application/x-java-serialized-object; class=<представляющий класс>", результат аналогичен вызову new DataFlavor(Class.forName(<representation class>).

В противном случае:

     representationClass = InputStream
     mimeType            = mimeType
 
Параметры:
mimeType - строка, используемая для идентификации MIME-типа для этого типа; если mimeType не содержит параметр "class=", или если класс не загружен успешно, будет брошено исключение IllegalArgumentException
humanPresentableName - удобочитаемая строка, используемая для идентификации этого типа; если этот параметр null, используется значение MIME Content Type
Исключения:
IllegalArgumentException - если mimeType некорректен или класс не загружен успешно
NullPointerException - если mimeType равен null

DataFlavor

public DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader) throws ClassNotFoundException
Создаёт DataFlavor, представляющий MimeType.

Возвращаемый DataFlavor будет иметь следующие характеристики:

Если mimeType равен "application/x-java-serialized-object; class=<представляющий класс>", результат аналогичен вызову new DataFlavor(Class.forName(<representation class>).

В противном случае:

     representationClass = InputStream
     mimeType            = mimeType
 
Параметры:
mimeType - строка, используемая для идентификации MIME-типа для этого типа
humanPresentableName - удобочитаемая строка, используемая для идентификации этого типа
classLoader - загрузчик классов, который использовать
Исключения:
ClassNotFoundException - если класс не загружен
IllegalArgumentException - если mimeType некорректен
NullPointerException - если mimeType равен null

DataFlavor

public DataFlavor(String mimeType) throws ClassNotFoundException
Создаёт DataFlavor из строки mimeType. Строка может содержать параметр "class=<полное имя класса Java>" для создания DataFlavor с нужным классом представления. Если строка не содержит параметра "class=", используется java.io.InputStream по умолчанию.
Параметры:
mimeType - строка, используемая для определения MIME-типа данного вкуса; если класс, указанный параметром "class=", не загружается успешно, возникает ClassNotFoundException
Исключения:
ClassNotFoundException - если класс не загружен
IllegalArgumentException - если mimeType некорректен
NullPointerException - если mimeType является null

Подробности методов

tryToLoadClass

protected static final Class<?> tryToLoadClass(String className, ClassLoader fallback) throws ClassNotFoundException
Пытается загрузить класс из: загрузчика Bootstrap, системного загрузчика, загрузчика контекста (если он есть) и, наконец, указанного загрузчика.
Параметры:
className - имя класса для загрузки
fallback - загрузчик по умолчанию
Возвращает:
загруженный класс
Исключения:
ClassNotFoundException - если класс не найден

toString

public String toString()
Строковое представление этого DataFlavor и его параметров. Результирующая строка содержит имя класса DataFlavor, MIME-тип данного вкуса и его класс представления. Если у этого вкуса основной MIME-тип "text", он поддерживает параметр charset и имеет закодированное представление, то также включается charset вкуса. См. selectBestTextFlavor для списка вкусов "text", которые поддерживают параметр charset.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого DataFlavor
См. также:
  • selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

getTextPlainUnicodeFlavor

public static final DataFlavor getTextPlainUnicodeFlavor()
Возвращает DataFlavor, представляющий обычный текст с кодировкой Unicode, где:
     representationClass = java.io.InputStream
     mimeType            = "text/plain;
                            charset=<platform default Unicode encoding>"
 
Примечание по реализации:
Реализация Oracle для Microsoft Windows и macOS использует кодировку utf-16le. Реализация Oracle для Solaris и Linux использует кодировку iso-10646-ucs-2.
Возвращает:
a DataFlavor, представляющий обычный текст с кодировкой Unicode
С:
1.3

selectBestTextFlavor

public static final DataFlavor selectBestTextFlavor(DataFlavor[] availableFlavors)
Выбирает лучший текстовый DataFlavor из массива DataFlavor. Для выбора рассматриваются только DataFlavor.stringFlavor, эквивалентные типы и типы с основным MIME-типом "text".

Типы сначала сортируются по их MIME-типам в следующем порядке:

  • "text/sgml"
  • "text/xml"
  • "text/html"
  • "text/rtf"
  • "text/enriched"
  • "text/richtext"
  • "text/uri-list"
  • "text/tab-separated-values"
  • "text/t140"
  • "text/rfc822-headers"
  • "text/parityfec"
  • "text/directory"
  • "text/css"
  • "text/calendar"
  • "application/x-java-serialized-object"
  • "text/plain"
  • "text/<other>"

Например, "text/sgml" будет выбран вместо "text/html", а DataFlavor.stringFlavor будет выбрано вместо DataFlavor.plainTextFlavor.

Если два или более типа имеют лучший MIME-тип в массиве, то этот MIME-тип будет проверен на поддержку параметра charset.

Следующие MIME-типы поддерживают или считаются поддерживающими параметр charset:

  • "text/sgml"
  • "text/xml"
  • "text/html"
  • "text/enriched"
  • "text/richtext"
  • "text/uri-list"
  • "text/directory"
  • "text/css"
  • "text/calendar"
  • "application/x-java-serialized-object"
  • "text/plain"
Следующие MIME-типы не поддерживают или считаются не поддерживающими параметр charset:
  • "text/rtf"
  • "text/tab-separated-values"
  • "text/t140"
  • "text/rfc822-headers"
  • "text/parityfec"
Для MIME-типов "text/" при первом определении JRE, поддерживает ли тип параметр charset, он проверяет, явно ли параметр указан в произвольно выбранном DataFlavor, который использует этот MIME-тип. Если да, JRE будет в дальнейшем предполагать, что MIME-тип поддерживает параметр charset и больше не будет проверять. Если параметр не указан явно, JRE будет в дальнейшем предполагать, что MIME-тип не поддерживает параметр charset и больше не будет проверять. Поскольку эта проверка выполняется на произвольно выбранном DataFlavor, разработчики должны гарантировать, что все DataFlavor с MIME-типом "text/" указывают параметр charset, если он поддерживается этим MIME-типом. Разработчики не должны полагаться на JRE для подстановки значения по умолчанию кодировки платформы для DataFlavor "text/". Несоблюдение этого ограничения приведет к неопределенному поведению.

Если лучший тип MIME в массиве не поддерживает параметр charset, типы, которые используют этот тип MIME, затем сортируются по их классам представления в следующем порядке: java.io.InputStream, java.nio.ByteBuffer, [B, <все остальные>.

Если два или более типа имеют лучший класс представления, или если ни один тип не имеет одного из трёх указанных представлений, то один из этих типов выбирается не детерминированно.

Если лучший тип MIME в массиве поддерживает параметр charset, типы, которые используют этот тип MIME, затем сортируются по их классам представления в следующем порядке: java.io.Reader, java.lang.String, java.nio.CharBuffer, [C, <все остальные>.

Если два или более типа имеют лучший класс представления, и это представление является одним из четырёх явно перечисленных, то один из этих типов выбирается не детерминированно. Если же ни один тип не имеет одного из четырёх указанных представлений, типы сортируются по их кодировкам. Юникодные кодировки, такие как "UTF-16", "UTF-8", "UTF-16BE", "UTF-16LE" и их алиасы, считаются лучшими. После них выбирается кодировка по умолчанию платформы и её алиасы. "US-ASCII" и его алиасы — худшие. Все остальные кодировки выбираются в алфавитном порядке, но учитываются только кодировки, поддерживаемые данной реализацией Java-платформы.

Если два или более типа имеют лучшую кодировку, типы снова сортируются по их классам представлений в следующем порядке: java.io.InputStream, java.nio.ByteBuffer, [B, <все остальные>.

Если два или более типа имеют лучший класс представления, или если ни один тип не имеет одного из трёх указанных представлений, то один из этих типов выбирается не детерминированно.

Параметры:
availableFlavors - массив доступных DataFlavor
Возвращает:
лучший (с наивысшим качеством) тип по вышеуказанным правилам, или null, если availableFlavors null, имеет нулевую длину или не содержит текстовых типов
С:
1.3

getReaderForText

public Reader getReaderForText(Transferable transferable) throws UnsupportedFlavorException, IOException
Получает объект Reader для текстового вкуса, декодированного, при необходимости, для ожидаемой кодировки символов (кодировки). Поддерживаемые классы представлений — java.io.Reader, java.lang.String, java.nio.CharBuffer, [C, java.io.InputStream, java.nio.ByteBuffer, и [B.

Поскольку текстовые вкусы, которые не поддерживают параметр кодировки символов, закодированы в нестандартном формате, этот метод не следует вызывать для таких вкусов. Однако, для обеспечения обратной совместимости, если этот метод вызывается для такого вкуса, этот метод будет обрабатывать вкус так, как будто он поддерживает параметр кодировки символов, и попытается декодировать его соответствующим образом. См. selectBestTextFlavor для списка текстовых вкусов, которые не поддерживают параметр кодировки символов.

Parameters:
transferable — Transferable, данные которого будут запрошены в этом вкусе
Returns:
объект Reader для чтения данных Transferable
Throws:
IllegalArgumentException — если класс представления не является одним из семи перечисленных выше
IllegalArgumentException — если у Transferable есть данные null
NullPointerException — если Transferable null
UnsupportedEncodingException — если представление этого вкуса java.io.InputStream, java.nio.ByteBuffer, или [B, и кодировка этого вкуса не поддерживается этой реализацией Java платформы
UnsupportedFlavorException — если Transferable не поддерживает этот вкус
IOException — если данные не могут быть прочитаны из-за ошибки ввода-вывода
Since:
1.3
See Also:
  • selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

getMimeType

public String getMimeType()
Возвращает строку MIME-типа для этого DataFlavor.
Returns:
строка MIME-типа для этого вкуса

getRepresentationClass

public Class<?> getRepresentationClass()
Возвращает класс, который объекты, поддерживающие этот DataFlavor, вернут при запросе этого DataFlavor.
Возвращает:
класс, который объекты, поддерживающие этот DataFlavor, вернут при запросе этого DataFlavor

getHumanPresentableName

public String getHumanPresentableName()
Возвращает удобочитаемое имя для формата данных, представленного этим DataFlavor. Это имя будет локализовано для разных стран.
Возвращает:
удобочитаемое имя для формата данных, представленного этим DataFlavor

getPrimaryType

public String getPrimaryType()
Возвращает основной тип MIME для этого DataFlavor.
Возвращает:
основной тип MIME этого DataFlavor

getSubType

public String getSubType()
Возвращает подтип MIME этого DataFlavor.
Возвращает:
подтип MIME этого DataFlavor

getParameter

public String getParameter(String paramName)
Возвращает удобочитаемое имя для этого DataFlavor, если запрос равен "humanPresentableName". В противном случае возвращает значение типа MIME, связанное с paramName.
Параметры:
paramName - имя запрошенного параметра
Возвращает:
значение параметра с заданным именем, или null если соответствующее значение отсутствует

setHumanPresentableName

public void setHumanPresentableName(String humanPresentableName)
Устанавливает удобочитаемое имя для формата данных, представленного этим DataFlavor. Это имя будет локализовано для разных стран.
Параметры:
humanPresentableName - новое удобочитаемое имя

equals

public boolean equals(Object o)
Указывает, является ли какой-либо другой объект "равным" этому.

Метод equals реализует отношение эквивалентности для ссылок на объекты, отличные от null:

  • Он рефлексивен: для любого непустого значения ссылки x, x.equals(x) должен возвращать true.
  • Он симметричен: для любых непустых значений ссылок x и y, x.equals(y) должен возвращать true тогда и только тогда, когда y.equals(x) возвращает true.
  • Он транзитивен: для любых непустых значений ссылок x, y, и z, если x.equals(y) возвращает true и y.equals(z) возвращает true, то x.equals(z) должен возвращать true.
  • Он постоянен: для любых непустых значений ссылок x и y, многократные вызовы x.equals(y) последовательно возвращают true или последовательно возвращают false, при условии, что информация, используемая в equals сравнениях объектов, не изменяется.
  • Для любого непустого значения ссылки x, x.equals(null) должен возвращать false.

Отношение эквивалентности разбивает элементы, на которые оно действует, на классы эквивалентности; все члены класса эквивалентности равны друг другу. Члены класса эквивалентности взаимозаменяемы, по крайней мере, в некоторых целях.

Сравнение equals для класса DataFlavor реализовано следующим образом: Два объекта DataFlavor считаются равными тогда и только тогда, когда их основной тип MIME, подтип и класс представления равны. Кроме того, если основной тип равен "text", подтип обозначает тип данных "текст", который поддерживает параметр charset, и класс представления не равен java.io.Reader, java.lang.String, java.nio.CharBuffer, или [C, параметр charset также должен быть равен. Если для одного или обоих объектов DataFlavor явно не указан charset, используется кодировка по умолчанию платформы. См. selectBestTextFlavor для списка типов данных "текст", которые поддерживают параметр charset.

Переопределяет:
equals в классе Object
Параметры:
o - объект для сравнения с этим объектом
Возвращает:
true, если объект эквивалентен этому объекту; false в противном случае
См. также:
  • selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

equals

public boolean equals(DataFlavor that)
Этот метод имеет такое же поведение, как equals(Object). Единственное отличие состоит в том, что он принимает экземпляр DataFlavor в качестве параметра.
Параметры:
that - объект для сравнения с этим объектом
Возвращает:
true, если объект эквивалентен этому объекту; false в противном случае
См. также:
  • selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

equals

@Deprecated public boolean equals(String s)
Устарело.
В силу несоответствия контракту hashCode(), используйте isMimeTypeEqual(String) вместо этого.
Сравнивает только mimeType с переданным значением, и representationClass не учитывается в сравнении. Если необходимо сравнить representationClass, то можно использовать equals(new DataFlavor(s)).
Параметры:
s - строка (тип MIME) для сравнения
Возвращает:
true, если строка (тип MIME) равна; false в противном случае или если s является null

hashCode

public int hashCode()
Возвращает хэш-код для этого объекта. Для двух равных объектов хэш-коды равны. Для объектов, которые соответствуют этому условию, не гарантируется, что хэш-код одного объекта равен хэш-коду другого.
Overrides:
hashCode в классе Object
Returns:
хэш-код для этого объекта
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

match

public boolean match(DataFlavor that)
Идентично equals(DataFlavor).
Parameters:
that - сравниваемый объект DataFlavor с этим объектом
Returns:
true, если объект эквивалентен этому объекту; false в противном случае
Since:
1.3
См. также:
  • selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

isMimeTypeEqual

public boolean isMimeTypeEqual(String mimeType)
Возвращает, эквивалентен ли строковое представление MIME-типа, переданное в метод, MIME-типу этого объекта. Параметры в сравнении не участвуют.
Parameters:
mimeType - строковое представление MIME-типа
Returns:
true, если строковое представление MIME-типа, переданное в метод, эквивалентно MIME-типу этого объекта; false в противном случае
Throws:
NullPointerException - если mimeType null

isMimeTypeEqual

public final boolean isMimeTypeEqual(DataFlavor dataFlavor)
Сравнивает MIME-типы двух объектов DataFlavor. Никакие параметры не учитываются.
Parameters:
dataFlavor - сравниваемый объект DataFlavor
Returns:
true, если MIME-типы равны, иначе false

isMimeTypeSerializedObject

public boolean isMimeTypeSerializedObject()
Представляет ли объект сериализованный объект?
Returns:
представляет ли объект сериализованный объект

getDefaultRepresentationClass

public final Class<?> getDefaultRepresentationClass()
Возвращает класс представления по умолчанию.
Returns:
класс представления по умолчанию

getDefaultRepresentationClassAsString

public final String getDefaultRepresentationClassAsString()
Возвращает имя класса представления по умолчанию.
Returns:
имя класса представления по умолчанию

isRepresentationClassInputStream

public boolean isRepresentationClassInputStream()
Представляет ли объект объект потока входных данных?
Returns:
представляет ли этот объект поток входных данных

isRepresentationClassReader

public boolean isRepresentationClassReader()
Возвращает, является ли класс представления для этого объекта классом Reader или его подклассом.
Returns:
является ли класс представления для этого объекта классом Reader или его подклассом
Since:
1.4

isRepresentationClassCharBuffer

public boolean isRepresentationClassCharBuffer()
Возвращает, является ли класс представления для этого объекта классом CharBuffer или его подклассом.
Returns:
является ли класс представления для этого объекта классом CharBuffer или его подклассом
Since:
1.4

isRepresentationClassByteBuffer

public boolean isRepresentationClassByteBuffer()
Возвращает, является ли класс представления для этого объекта типом ByteBuffer или его подклассом.
Возвращает:
является ли или нет класс представления для этого объекта типом ByteBuffer или его подклассом
С:
1.4

isRepresentationClassSerializable

public boolean isRepresentationClassSerializable()
Возвращает true, если класс представления может быть сериализован.
Возвращает:
true, если класс представления может быть сериализован

isRepresentationClassRemote

public boolean isRepresentationClassRemote()
Возвращает true, если класс представления является удаленным объектом.
Возвращает:
true, если класс представления является удаленным объектом

isFlavorSerializedObjectType

public boolean isFlavorSerializedObjectType()
Возвращает true, если указанный тип данных представляет сериализованный объект.
Возвращает:
true, если указанный тип данных представляет сериализованный объект

isFlavorRemoteObjectType

public boolean isFlavorRemoteObjectType()
Возвращает true, если указанный тип данных представляет удаленный объект.
Возвращает:
true, если указанный тип данных представляет удаленный объект

isFlavorJavaFileListType

public boolean isFlavorJavaFileListType()
Возвращает true, если указанный тип данных представляет список объектов файлов.
Возвращает:
true, если указанный тип данных представляет список файлов
END_OF_DOCUMENT_MARKER

isFlavorTextType

public boolean isFlavorTextType()
Определяет, является ли этот DataFlavor допустимым типом текстового флейвера для этой реализации Java платформы. Только флейверы, эквивалентные DataFlavor.stringFlavor и DataFlavor с основным типом MIME «text», могут быть допустимыми текстовыми флейверами.

Если этот флейвер поддерживает параметр charset, он должен быть эквивалентен DataFlavor.stringFlavor, или его представление должно быть java.io.Reader, java.lang.String, java.nio.CharBuffer, [C, java.io.InputStream, java.nio.ByteBuffer или [B. Если представление равно java.io.InputStream, java.nio.ByteBuffer или [B, тогда параметр charset этого флейвера должен быть поддерживаемым этой реализацией Java платформы. Если charset не указан, то предполагается платформа по умолчанию charset, который всегда поддерживается.

Если этот флейвер не поддерживает параметр charset, его представление должно быть java.io.InputStream, java.nio.ByteBuffer или [B.

См. selectBestTextFlavor для списка текстовых флейверов, которые поддерживают параметр charset.

Возвращает:
true, если этот DataFlavor является допустимым текстовым флейвером, как описано выше; false в противном случае
С:
1.4
См. также:
  • selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

writeExternal

public void writeExternal(ObjectOutput os) throws IOException
Сериализует этот DataFlavor.
Определено в:
writeExternal в интерфейсе Externalizable
Параметры:
os - поток для записи объекта
Исключения:
IOException - Включает любые исключения ввода-вывода, которые могут возникнуть

readExternal

public void readExternal(ObjectInput is) throws IOException, ClassNotFoundException
Восстанавливает этот DataFlavor из сериализованного состояния.
Определено в:
readExternal в интерфейсе Externalizable
Параметры:
is - поток для чтения данных, необходимых для восстановления объекта
Исключения:
IOException - если возникают ошибки ввода-вывода
ClassNotFoundException - Если класс объекта, который восстанавливается, не найден.

clone

public Object clone() throws CloneNotSupportedException
Возвращает клонированную копию этого DataFlavor.
Переопределяет:
clone в классе Object
Возвращает:
клонированную копию этого DataFlavor
Имеет исключения:
CloneNotSupportedException - если класс объекта не поддерживает интерфейс Cloneable. Подклассы, переопределяющие метод clone, также могут генерировать это исключение, чтобы указать, что экземпляр нельзя клонировать.
См. также:
  • Cloneable

normalizeMimeTypeParameter

@Deprecated protected String normalizeMimeTypeParameter(String parameterName, String parameterValue)
Устарело.
Этот метод никогда не вызывается этим реализацией начиная с версии 1.1
Вызывается для каждого параметра MIME типа для DataFlavor, чтобы DataFlavor подклассы могли обрабатывать специальные параметры, такие как параметры text/plain charset, значения которых не зависят от регистра. (Значения параметров MIME типов должны зависеть от регистра.

Этот метод вызывается для каждой пары имя/значение параметра и должен возвращать нормализованное представление parameterValue.

Параметры:
parameterName - имя параметра
parameterValue - значение параметра
Возвращает:
значение параметра

normalizeMimeType

@Deprecated protected String normalizeMimeType(String mimeType)
Устарело.
Этот метод никогда не вызывается этим реализацией начиная с версии 1.1
Вызывается для каждой строки MIME типа, чтобы DataFlavor подтипы имели возможность изменить способ нормализации MIME типов. Одним из возможных вариантов использования было бы добавление пар параметров/значений по умолчанию в тех случаях, когда в строке MIME типа, переданной в качестве параметра, их нет.
Параметры:
mimeType - тип MIME
Возвращает:
тип MIME

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.datatransfer/java/awt/datatransfer/DataFlavor.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API