Класс DataFlavor
- Все реализуемые интерфейсы:
-
Externalizable,Serializable,Cloneable
public class DataFlavor extends Object implements Externalizable, Cloneable
DataFlavor предоставляет метаинформацию о данных. 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[]).
Равенство экземпляров класса DataFlavors определяется основным типом, подтипом и представляющим классом. Подробности см. в equals(DataFlavor). При определении равенства любые необязательные параметры игнорируются. Например, приведенный ниже код приводит к созданию двух экземпляров DataFlavors , которые считаются идентичными:
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);Как упоминалось ранее, экземпляры
flavor1 и flavor2 считаются идентичными. Следовательно, запрос к экземпляру 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 с этим типом/подтипом, с представляющим классом, равным типу класса/интерфейса, передаваемого через интерфейс Transferable. |
static final String |
javaRemoteObjectMimeType |
Для передачи прямой ссылки на удаленный объект через Drag and Drop 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 |
Попытка загрузить класс из: загрузчика Bootstrap, системного загрузчика, загрузчика контекста (если он есть) и, наконец, указанного загрузчика. |
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 с этим типом/подтипом и классом представления равным типу класса/интерфейса, передаваемого через 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"
- С версии:
- 1.8
allHtmlFlavor
public static final DataFlavor allHtmlFlavor
Transferable, дополнительные изменения не будут внесены.
representationClass = String
mimeType = "text/html"
- С версии:
- 1.8
Подробное описание конструкторов
DataFlavor
public DataFlavor()
Externalizable. Не предназначен для использования в публичном (клиентском) коде.- С версии:
- 1.2
DataFlavor
public DataFlavor(Class<?> representationClass, String humanPresentableName)
Возвращаемый 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 будет иметь следующие характеристики:
Если MIME Content-Type "application/x-java-serialized-object; class=<класс представления>", результат такой же, как при вызове new DataFlavor(Class.forName(<representation class>).
В противном случае:
representationClass = InputStream
mimeType = mimeType
- Параметры:
-
mimeType- строка, используемая для идентификации MIME типа этого флейвора; если MIME Content-Type не содержит параметр "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 "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
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 и его параметров. Результирующее String содержит имя класса DataFlavor, MIME-тип данного типа и его класс представления. Если у этого типа основной MIME-тип "text", поддерживается параметр charset и существует закодированное представление, то также включается charset типа. См. selectBestTextFlavor для списка типов text, которые поддерживают параметр charset.- Overrides:
-
toStringв классеObject - Returns:
- строковое представление этого
DataFlavor - See Also:
getTextPlainUnicodeFlavor
public static final DataFlavor getTextPlainUnicodeFlavor()
DataFlavor, представляющий обычный текст с кодировкой Unicode, где:
representationClass = java.io.InputStream
mimeType = "text/plain;
charset=<platform default Unicode encoding>"
- Implementation Note:
- Реализация Oracle для Microsoft Windows и macOS использует кодировку
utf-16le. Реализация Oracle для Solaris и Linux использует кодировкуiso-10646-ucs-2. - Returns:
DataFlavor, представляющий обычный текст с кодировкой Unicode- Since:
- 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/<other>" указывают параметр charset, если он поддерживается этим MIME-типом. Разработчики не должны полагаться на JRE для подстановки значения по умолчанию платформы charset для "text/<other>" DataFlavor. Несоблюдение этого ограничения приведет к неопределенному поведению. Если лучший MIME-тип в массиве не поддерживает параметр charset, то типы, которые имеют этот MIME-тип, будут отсортированы по своим классам представления в следующем порядке: java.io.InputStream, java.nio.ByteBuffer, [B, <все остальные>.
Если два или более типа имеют лучший класс представления, или если ни один тип не имеет одного из трех указанных представлений, то один из этих типов будет выбран не детерминированно.
Если лучший MIME-тип в массиве поддерживает параметр charset, то типы, которые имеют этот MIME-тип, будут отсортированы по своим классам представления в следующем порядке: java.io.Reader, java.lang.String, java.nio.CharBuffer, [C, <все остальные>.
Если два или более типа имеют лучший класс представления, и это представление является одним из четырех явно перечисленных, то один из этих типов будет выбран не детерминированно. Однако если ни один тип не имеет одного из четырех указанных представлений, то типы будут отсортированы по своим charset. Наборы символов Unicode, такие как "UTF-16", "UTF-8", "UTF-16BE", "UTF-16LE" и их псевдонимы, считаются лучшими. За ними следуют значение по умолчанию платформы charset и его псевдонимы. "US-ASCII" и его псевдонимы являются худшими. Все остальные наборы символов выбираются в алфавитном порядке, но будут учитываться только наборы символов, поддерживаемые данной реализацией Java платформы.
Если два или более типа имеют лучший набор символов, типы будут снова отсортированы по своим классам представлений в следующем порядке: java.io.InputStream, java.nio.ByteBuffer, [B, <все остальные>.
Если два или более типа имеют лучший класс представления, или если ни один тип не имеет одного из трех указанных представлений, то один из этих типов будет выбран не детерминированно.
- Parameters:
-
availableFlavors- массив доступныхDataFlavor - Returns:
- лучший (с наивысшей точностью) тип в соответствии с описанными выше правилами, или
null, еслиavailableFlavorsпуст, имеет нулевую длину или не содержит текстовых типов - Since:
- 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. Поскольку текстовые типы, которые не поддерживают параметр charset, закодированы в нестандартном формате, этот метод не должен вызываться для таких типов. Однако, для поддержания обратной совместимости, если этот метод вызван для такого типа, этот метод будет рассматривать тип как будто он поддерживает параметр charset и попытается декодировать его соответствующим образом. См. selectBestTextFlavor для списка текстовых типов, которые не поддерживают параметр charset.
- 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:
getMimeType
public String getMimeType()
DataFlavor.- Returns:
- строка MIME-типа для этого типа
getRepresentationClass
public Class<?> getRepresentationClass()
Class, которое объекты, поддерживающие этот DataFlavor, будут возвращать при запросе этого DataFlavor.- Returns:
Class, которое объекты, поддерживающие этотDataFlavor, будут возвращать при запросе этогоDataFlavor
getHumanPresentableName
public String getHumanPresentableName()
DataFlavor. Это имя будет локализовано для разных стран.- Returns:
- удобочитаемое имя формата данных, которое представляет этот
DataFlavor
getPrimaryType
public String getPrimaryType()
DataFlavor.- Returns:
- основной MIME-тип этого
DataFlavor
getSubType
public String getSubType()
DataFlavor.- Returns:
- подтип MIME этого
DataFlavor
getParameter
public String getParameter(String paramName)
DataFlavor если paramName равно "humanPresentableName". В противном случае возвращает значение MIME-типа, связанное с paramName.- Parameters:
-
paramName- имя запрашиваемого параметра - Returns:
- значение параметра, или
nullесли нет связанного значения
setHumanPresentableName
public void setHumanPresentableName(String humanPresentableName)
DataFlavor. Это имя будет локализовано для разных стран.- Parameters:
-
humanPresentableName- новое удобочитаемое имя
equals
public boolean equals(Object o)
Метод equals реализует отношение эквивалентности на ссылках на объекты, отличных от null:
- Он является рефлексивным: для любой ссылки на объект, отличной от null,
x,x.equals(x)должен возвращатьtrue. - Он является симметричным: для любых ссылок на объекты, отличных от null,
xиy,x.equals(y)должен возвращатьtrueтогда и только тогда, когдаy.equals(x)возвращаетtrue. - Он является транзитивным: для любых ссылок на объекты, отличных от null,
x,yиz, еслиx.equals(y)возвращаетtrueиy.equals(z)возвращаетtrue, тоx.equals(z)должен возвращатьtrue. - Он является последовательным: для любых ссылок на объекты, отличных от null,
xиy, многочисленные вызовыx.equals(y)последовательно возвращаютtrueили последовательно возвращаютfalse, при условии, что информация, используемая в сравненияхequalsобъектов, не изменяется. - Для любой ссылки на объект, отличной от null,
x,x.equals(null)должен возвращатьfalse.
Отношение эквивалентности разделяет элементы, над которыми оно выполняется, на классы эквивалентности; все члены класса эквивалентности равны друг другу. Члены класса эквивалентности взаимозаменяемы, по крайней мере, для некоторых целей.
Сравнение на равенство для класса DataFlavor реализовано следующим образом: Два объекта DataFlavor считаются равными тогда и только тогда, когда их основной тип MIME и подтип, а также класс представления равны. Кроме того, если основной тип — "text", подтип обозначает тип текста, поддерживающий параметр charset, и класс представления не является java.io.Reader, java.lang.String, java.nio.CharBuffer или [C, параметр charset также должен быть равен. Если для одного или обоих DataFlavor объектов явно не указана кодировка charset, предполагается кодировка по умолчанию платформы. Список типов текста, поддерживающих параметр charset, см. в selectBestTextFlavor.
- Overrides:
-
equalsв классеObject - Parameters:
-
o- объект для сравнения сthis - Returns:
-
trueеслиthatэквивалентен этомуDataFlavor;falseв противном случае - See Also:
equals
public boolean equals(DataFlavor that)
equals(Object). Единственное отличие заключается в том, что в качестве параметра передаётся экземпляр DataFlavor. - Parameters:
-
that- объектDataFlavorдля сравнения сthis - Returns:
-
trueеслиthatэквивалентен этомуDataFlavor;falseв противном случае - See Also:
equals
@Deprecated public boolean equals(String s)
hashCode(), используйте isMimeTypeEqual(String) вместо этого.mimeType с переданным String, и representationClass не учитывается при сравнении. Если необходимо сравнить representationClass, то можно использовать equals(new DataFlavor(s)). - Parameters:
-
s-mimeTypeдля сравнения - Returns:
-
trueесли строка (MIME-тип) равна;falseв противном случае или еслиsявляетсяnull
hashCode
public int hashCode()
DataFlavor. Для двух равных DataFlavor хеш-коды равны. Для String совпадающего с DataFlavor.equals(String), не гарантируется, что хеш-код DataFlavor равен хеш-коду String. - Overrides:
-
hashCodeв классеObject - Returns:
- хеш-код для этого
DataFlavor - See Also:
match
public boolean match(DataFlavor that)
equals(DataFlavor).- Parameters:
-
that-DataFlavorдля сравнения сthis - Returns:
-
trueеслиthatэквивалентен этомуDataFlavor;falseв противном случае - Since:
- 1.3
- See Also:
isMimeTypeEqual
public boolean isMimeTypeEqual(String mimeType)
DataFlavor. Параметры не учитываются при сравнении.- Parameters:
-
mimeType- строковое представление MIME-типа - Returns:
-
trueесли строковое представление MIME-типа, переданное в качестве параметра, эквивалентно MIME-типу этого объектаDataFlavor;falseв противном случае - Throws:
-
NullPointerException- если mimeType являетсяnull
isMimeTypeEqual
public final boolean isMimeTypeEqual(DataFlavor dataFlavor)
mimeType. Параметры не учитываются.- Parameters:
-
dataFlavor- объектDataFlavorдля сравнения - Returns:
-
trueесли MIME-типы равны, иначеfalse
isMimeTypeSerializedObject
public boolean isMimeTypeSerializedObject()
DataFlavor сериализованный объект?- Returns:
- true, если объект сериализован, иначе false
getDefaultRepresentationClass
public final Class<?> getDefaultRepresentationClass()
- Returns:
- класс представления по умолчанию
getDefaultRepresentationClassAsString
public final String getDefaultRepresentationClassAsString()
- Returns:
- имя класса представления по умолчанию
isRepresentationClassInputStream
public boolean isRepresentationClassInputStream()
DataFlavor объект типа java.io.InputStream?- Returns:
- true, если объект
DataFlavorпредставляет собойjava.io.InputStream, иначе false
isRepresentationClassReader
public boolean isRepresentationClassReader()
DataFlavor классом java.io.Reader или его подклассом.- Returns:
- true, если класс представления для этого
DataFlavorявляетсяjava.io.Readerили его подклассом, иначе false - Since:
- 1.4
isRepresentationClassCharBuffer
public boolean isRepresentationClassCharBuffer()
DataFlavor классом java.nio.CharBuffer или его подклассом.- Returns:
- true, если класс представления для этого
DataFlavorявляетсяjava.nio.CharBufferили его подклассом, иначе false - Since:
- 1.4
isRepresentationClassByteBuffer
public boolean isRepresentationClassByteBuffer()
DataFlavor классом java.nio.ByteBuffer или его подклассом.- Returns:
- true, если класс представления для этого
DataFlavorявляетсяjava.nio.ByteBufferили его подклассом, иначе false - Since:
- 1.4
isRepresentationClassSerializable
public boolean isRepresentationClassSerializable()
true если класс представления может быть сериализован.- Returns:
-
trueесли класс представления может быть сериализован
isRepresentationClassRemote
public boolean isRepresentationClassRemote()
true, если класс представления является Remote.- Возвращает:
-
true, если класс представления являетсяRemote
isFlavorSerializedObjectType
public boolean isFlavorSerializedObjectType()
true, если указанный DataFlavor представляет сериализованный объект.- Возвращает:
-
true, если указанныйDataFlavorпредставляет сериализованный объект
isFlavorRemoteObjectType
public boolean isFlavorRemoteObjectType()
true, если указанный DataFlavor представляет удалённый объект.- Возвращает:
-
true, если указанныйDataFlavorпредставляет удалённый объект
isFlavorJavaFileListType
public boolean isFlavorJavaFileListType()
true, если указанный DataFlavor представляет список объектов файлов.- Возвращает:
-
true, если указанныйDataFlavorпредставляет списокjava.util.Listjava.io.Fileобъектов
isFlavorTextType
public boolean isFlavorTextType()
DataFlavor допустимым форматом текста для данной реализации Java платформы. Только форматы, эквивалентные DataFlavor.stringFlavor и форматы с первичным 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, его представление должно быть java.io.InputStream, java.nio.ByteBuffer, или [B.
См. selectBestTextFlavor для списка форматов текста, которые поддерживают параметр charset.
- Возвращает:
-
trueесли этотDataFlavorявляется допустимым форматом текста, как описано выше;falseв противном случае - Since:
- 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 подклассы могли обрабатывать специальные параметры, такие как параметры text/plain charset, значения которых нечувствительны к регистру. (Значения параметров MIME-типа должны быть чувствительны к регистру). Этот метод вызывается для каждой пары имя/значение параметра и должен возвращать нормализованное представление parameterValue.
- Параметры:
-
parameterName- имя параметра -
parameterValue- значение параметра - Возвращает:
- значение параметра
normalizeMimeType
@Deprecated protected String normalizeMimeType(String mimeType)
DataFlavor подклассы имели возможность изменить то, как выполняется нормализация MIME-типов. Одним из возможных вариантов использования было бы добавление пар параметр/значение по умолчанию в тех случаях, когда в строке MIME-типа, переданной в функцию, таких пар нет.- Параметры:
-
mimeType- тип MIME - Возвращает:
- тип MIME
© 1993, 2021, 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/17/docs/api/java.datatransfer/java/awt/datatransfer/DataFlavor.html