Класс DataFlavor
- Все реализованные интерфейсы:
-
Externalizable,Serializable,Cloneable
public class DataFlavor extends Object implements Externalizable, Cloneable
Экземпляр `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 |
Создаёт `DataFlavor` , представляющий класс Java. |
DataFlavor |
Создаёт `DataFlavor` из строки mimeType. |
DataFlavor |
Создаёт `DataFlavor` , представляющий MimeType. |
DataFlavor |
Создаёт `DataFlavor` , представляющий MimeType. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Возвращает клонированную копию этого `DataFlavor`. |
boolean |
equals |
Этот метод имеет такое же поведение, как equals(Object). |
boolean |
equals |
Указывает, является ли какой-либо другой объект "равным" этому объекту. |
boolean |
equals |
Устарело. Так как это несовместимо с контрактом hashCode() используйте isMimeTypeEqual(String) вместо этого. |
final Class |
getDefaultRepresentationClass() |
Возвращает класс представления по умолчанию. |
final String |
getDefaultRepresentationClassAsString() |
Возвращает имя класса представления по умолчанию. |
String |
getHumanPresentableName() |
Возвращает удобочитаемое имя формата данных, которое представляет этот `DataFlavor`. |
String |
getMimeType() |
Возвращает строку MIME-типа для этого `DataFlavor`. |
String |
getParameter |
Возвращает удобочитаемое имя для этого `DataFlavor` если paramName равно "humanPresentableName". |
String |
getPrimaryType() |
Возвращает основной MIME-тип для этого `DataFlavor`. |
Reader |
getReaderForText |
Получает чтение для текстового варианта, декодированного при необходимости, для ожидаемого набора символов (кодировки). |
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 |
Сравнивает mimeType двух объектов DataFlavor. |
boolean |
isMimeTypeEqual |
Возвращает, эквивалентна ли строковая форма 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 |
Идентично equals(DataFlavor). |
protected String |
normalizeMimeType |
Устаревший. Этот метод никогда не вызывается реализацией с версии 1.1 и далее |
protected String |
normalizeMimeTypeParameter |
Устаревший. Этот метод никогда не вызывается реализацией с версии 1.1 и далее |
void |
readExternal |
Восстанавливает этот DataFlavor из сериализованного состояния. |
static final DataFlavor |
selectBestTextFlavor |
Выбирает лучший текстовый DataFlavor из массива DataFlavor. |
void |
setHumanPresentableName |
Устанавливает удобочитаемое имя формата данных, представляемого этим DataFlavor. |
String |
toString() |
Строковое представление этого DataFlavor и его параметров. |
protected static final Class |
tryToLoadClass |
Пытается загрузить класс из: загрузчика начальной загрузки, загрузчика системы, загрузчика контекста (если он присутствует) и, наконец, указанного загрузчика. |
void |
writeExternal |
Сериализует этот DataFlavor. |
Подробное описание полей
stringFlavor
public static final DataFlavor stringFlavor
representationClass = java.lang.String
mimeType = "application/x-java-serialized-object"
imageFlavor
public static final DataFlavor imageFlavor
representationClass = java.awt.Image
mimeType = "image/x-java-image"
Будет null если java.awt.Image не отображается, модуль java.desktop не загружен или модуль java.desktop отсутствует в текущей изображении.plainTextFlavor
@Deprecated public static final DataFlavor plainTextFlavor
getReaderForText(java.awt.datatransfer.Transferable) вместо Transferable.getTransferData(DataFlavor.plainTextFlavor).
representationClass = InputStream
mimeType = "text/plain; charset=unicode"
Этот DataFlavor устарел, потому что: - Его представление — InputStream, основанное на 8-битной кодировке, в то время как Unicode — 16-битная кодировка символов.
- Кодировка "unicode" не определена однозначно. "unicode" подразумевает реализацию Unicode на конкретной платформе, а не кроссплатформенную реализацию.
javaSerializedObjectMimeType
public static final String javaSerializedObjectMimeType
Класс представления, связанный с этим DataFlavor , определяет тип Java объекта, возвращаемого как ссылка в результате вызова java.awt.datatransfer.getTransferData.
- См. также:
javaFileListFlavor
public static final DataFlavor javaFileListFlavor
DataFlavor с этим типом/подтипом и классом представления java.util.List. Каждый элемент списка должен/гарантируется как объект типа java.io.File.javaJVMLocalObjectMimeType
public static final String javaJVMLocalObjectMimeType
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
Transferable, никаких дополнительных изменений не будет. Этот экземпляр DataFlavor представляет ту же HTML-разметку, что и экземпляры DataFlavor, содержимое MIME типа которых не содержит параметр документа, а класс представления — класс String.
representationClass = String
mimeType = "text/html"
- С:
- 1.8
fragmentHtmlFlavor
public static final DataFlavor fragmentHtmlFlavor
Transferable, дополнительные изменения не будут внесены.
representationClass = String
mimeType = "text/html"
- Since:
- 1.8
allHtmlFlavor
public static final DataFlavor allHtmlFlavor
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
- Параметры:
-
className- имя класса для загрузки -
fallback- загрузчик по умолчанию - Возвращает:
- загруженный класс
- Исключения:
-
ClassNotFoundException- если класс не найден
toString
public String toString()
DataFlavor и его параметров. Результирующая строка содержит имя класса DataFlavor, MIME-тип данного вкуса и его класс представления. Если у этого вкуса основной MIME-тип "text", он поддерживает параметр charset и имеет закодированное представление, то также включается charset вкуса. См. selectBestTextFlavor для списка вкусов "text", которые поддерживают параметр charset.- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого
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"
- "text/rtf"
- "text/tab-separated-values"
- "text/t140"
- "text/rfc822-headers"
- "text/parityfec"
DataFlavor, который использует этот MIME-тип. Если да, JRE будет в дальнейшем предполагать, что MIME-тип поддерживает параметр charset и больше не будет проверять. Если параметр не указан явно, JRE будет в дальнейшем предполагать, что MIME-тип не поддерживает параметр charset и больше не будет проверять. Поскольку эта проверка выполняется на произвольно выбранном DataFlavor, разработчики должны гарантировать, что все DataFlavor с MIME-типом "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, еслиavailableFlavorsnull, имеет нулевую длину или не содержит текстовых типов - С:
- 1.3
getReaderForText
public Reader getReaderForText(Transferable transferable) throws UnsupportedFlavorException, IOException
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— еслиTransferablenull -
UnsupportedEncodingException— если представление этого вкусаjava.io.InputStream,java.nio.ByteBuffer, или[B, и кодировка этого вкуса не поддерживается этой реализацией Java платформы -
UnsupportedFlavorException— еслиTransferableне поддерживает этот вкус -
IOException— если данные не могут быть прочитаны из-за ошибки ввода-вывода - Since:
- 1.3
- See Also:
getMimeType
public String getMimeType()
DataFlavor.- Returns:
- строка MIME-типа для этого вкуса
getRepresentationClass
public Class<?> getRepresentationClass()
DataFlavor, вернут при запросе этого DataFlavor. - Возвращает:
- класс, который объекты, поддерживающие этот
DataFlavor, вернут при запросе этогоDataFlavor
getHumanPresentableName
public String getHumanPresentableName()
DataFlavor. Это имя будет локализовано для разных стран.- Возвращает:
- удобочитаемое имя для формата данных, представленного этим
DataFlavor
getPrimaryType
public String getPrimaryType()
DataFlavor.- Возвращает:
- основной тип MIME этого
DataFlavor
getSubType
public String getSubType()
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в противном случае - См. также:
equals
public boolean equals(DataFlavor that)
equals(Object). Единственное отличие состоит в том, что он принимает экземпляр DataFlavor в качестве параметра.- Параметры:
-
that- объект для сравнения с этим объектом - Возвращает:
-
true, если объект эквивалентен этому объекту;falseв противном случае - См. также:
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:
- хэш-код для этого объекта
- См. также:
match
public boolean match(DataFlavor that)
equals(DataFlavor).- Parameters:
-
that- сравниваемый объектDataFlavorс этим объектом - Returns:
-
true, если объект эквивалентен этому объекту;falseв противном случае - Since:
- 1.3
- См. также:
isMimeTypeEqual
public boolean isMimeTypeEqual(String mimeType)
- Parameters:
-
mimeType- строковое представление MIME-типа - Returns:
-
true, если строковое представление MIME-типа, переданное в метод, эквивалентно MIME-типу этого объекта;falseв противном случае - Throws:
-
NullPointerException- если mimeTypenull
isMimeTypeEqual
public final boolean isMimeTypeEqual(DataFlavor dataFlavor)
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()
- Returns:
- является ли класс представления для этого объекта классом Reader или его подклассом
- Since:
- 1.4
isRepresentationClassCharBuffer
public boolean isRepresentationClassCharBuffer()
- Returns:
- является ли класс представления для этого объекта классом CharBuffer или его подклассом
- Since:
- 1.4
isRepresentationClassByteBuffer
public boolean isRepresentationClassByteBuffer()
- Возвращает:
- является ли или нет класс представления для этого объекта типом ByteBuffer или его подклассом
- С:
- 1.4
isRepresentationClassSerializable
public boolean isRepresentationClassSerializable()
- Возвращает:
- true, если класс представления может быть сериализован
isRepresentationClassRemote
public boolean isRepresentationClassRemote()
- Возвращает:
- true, если класс представления является удаленным объектом
isFlavorSerializedObjectType
public boolean isFlavorSerializedObjectType()
- Возвращает:
- true, если указанный тип данных представляет сериализованный объект
isFlavorRemoteObjectType
public boolean isFlavorRemoteObjectType()
- Возвращает:
- true, если указанный тип данных представляет удаленный объект
isFlavorJavaFileListType
public boolean isFlavorJavaFileListType()
- Возвращает:
- true, если указанный тип данных представляет список файлов
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
- См. также:
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, также могут генерировать это исключение, чтобы указать, что экземпляр нельзя клонировать. - См. также:
normalizeMimeTypeParameter
@Deprecated protected String normalizeMimeTypeParameter(String parameterName, String parameterValue)
DataFlavor, чтобы DataFlavor подклассы могли обрабатывать специальные параметры, такие как параметры text/plain charset, значения которых не зависят от регистра. (Значения параметров MIME типов должны зависеть от регистра.
Этот метод вызывается для каждой пары имя/значение параметра и должен возвращать нормализованное представление parameterValue.
- Параметры:
-
parameterName- имя параметра -
parameterValue- значение параметра - Возвращает:
- значение параметра
normalizeMimeType
@Deprecated protected String normalizeMimeType(String mimeType)
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