Класс 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 |
Класс представления, представляющий класс Java Image: |
static final DataFlavor |
javaFileListFlavor |
Для передачи списка файлов в/из Java (и основной платформы) используется тип/подтип DataFlavor и класс представления java.util.List. |
static final String |
javaJVMLocalObjectMimeType |
Для передачи ссылки на произвольный Java объект, который не имеет связанного MIME типа содержимого, через интерфейс Transferable ВНУТРИ ОДНОЙ JVM используется тип/подтип DataFlavor, с классом представления, равным типу передаваемого класса/интерфейса через интерфейс Transferable. |
static final String |
javaRemoteObjectMimeType |
Для передачи прямой ссылки на удаленный объект через операцию перетаскивания ACTION_LINK должен использоваться MIME тип содержимого application/x-java-remote-object, где класс представления DataFlavor представляет тип интерфейса Remote, подлежащего передаче. |
static final String |
javaSerializedObjectMimeType |
MIME тип содержимого application/x-java-serialized-object представляет собой граф Java объектов, которые были сохранены. |
static final DataFlavor |
plainTextFlavor |
Устарело. с версии 1.3. |
static final DataFlavor |
selectionHtmlFlavor |
Представляет фрагмент разметки HTML. |
static final DataFlavor |
stringFlavor |
Класс представления, представляющий класс 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 |
Возвращает объект Reader для текстового формата, декодированного при необходимости для ожидаемой кодировки символов. |
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-типом, должен быть экземпляром класса представления DataFlavor.
- См. также:
javaRemoteObjectMimeType
public static final String javaRemoteObjectMimeType
ACTION_LINK должен использоваться MIME-тип 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, представляющий класс Java. Созданный DataFlavor имеет следующие характеристики:
representationClass = representationClass
mimeType = application/x-java-serialized-object
- Параметры:
-
representationClass- класс, используемый для передачи данных в этом типе -
humanPresentableName- удобочитаемая строка, используемая для идентификации этого типа; если этот параметрnull, используется значение MIME-типа - Исключения:
-
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-типа - Исключения:
-
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
- Parameters:
-
className- имя класса, который нужно загрузить -
fallback- загрузчик по умолчанию - Returns:
- загруженный класс
- Throws:
-
ClassNotFoundException- если класс не найден
toString
public String toString()
DataFlavor и его параметров. Результирующая строка содержит имя класса DataFlavor, тип MIME этого варианта и его класс представления. Если у этого варианта основной тип MIME равен "text", поддерживается параметр charset и есть кодированное представление, то также включается charset варианта. См. selectBestTextFlavor для списка текстовых вариантов, которые поддерживают параметр charset.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 для подстановки системной кодировки по умолчанию для DataFlavor "text/<other>". Несоблюдение этого ограничения приведет к неопределенному поведению. Если лучший тип MIME в массиве не поддерживает параметр charset, то варианты, которые разделяют этот тип MIME, будут отсортированы по их классам представления в следующем порядке: java.io.InputStream, java.nio.ByteBuffer, [B, <все остальные>.
Если два или более варианта разделяют лучший класс представления, или если ни один вариант не имеет одного из трех указанных представлений, то один из этих вариантов будет выбран не детерминированно.
Если лучший тип MIME в массиве поддерживает параметр charset, то варианты, которые разделяют этот тип MIME, будут отсортированы по их классам представления в следующем порядке: java.io.Reader, java.lang.String, java.nio.CharBuffer, [C, <все остальные>.
Если два или более варианта разделяют лучший класс представления, и это представление является одним из четырех явно указанных, то один из этих вариантов будет выбран не детерминированно. Если же ни один вариант не имеет одного из четырех указанных представлений, то варианты будут отсортированы по их наборам символов. Наборы символов Unicode, такие как "UTF-16", "UTF-8", "UTF-16BE", "UTF-16LE" и их псевдонимы, считаются лучшими. После них выбирается системная кодировка по умолчанию и ее псевдонимы. "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пустой -
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.- Возвращает:
- подтип MIME этого
DataFlavor
getParameter
public String getParameter(String paramName)
DataFlavor, если paramName равно "humanPresentableName". В противном случае возвращает значение MIME-типа, связанное с paramName.- Параметры:
-
paramName- имя запрашиваемого параметра - Возвращает:
- значение параметра с именем, или
null, если соответствующее значение отсутствует
setHumanPresentableName
public void setHumanPresentableName(String humanPresentableName)
DataFlavor. Это имя будет локализовано для разных стран.- Параметры:
-
humanPresentableName- новое удобочитаемое имя
equals
public boolean equals(Object o)
Метод equals реализует отношение эквивалентности для ссылок на объекты, отличные от null:
- Он рефлексивен: для любой ссылки на объект, отличной от null,
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должен возвращатьfalse.
Отношение эквивалентности разделяет элементы, на которые она действует, на классы эквивалентности; все члены класса эквивалентности равны друг другу. Члены класса эквивалентности взаимозаменяемы, по крайней мере, для некоторых целей.
Сравнение на равенство для класса DataFlavor реализовано следующим образом: Два DataFlavor считаются равными тогда и только тогда, когда их основной тип MIME, подтип и класс представления равны. Кроме того, если основной тип равен "text", подтип обозначает тип текста, который поддерживает параметр charset, и класс представления не равен java.io.Reader, java.lang.String, java.nio.CharBuffer или [C, параметр charset также должен быть равен. Если набор символов не указан явно для одного или обоих DataFlavor, предполагается кодировка по умолчанию платформы. См. selectBestTextFlavor для списка типов текста, которые поддерживают параметр charset.
equals
public boolean equals(DataFlavor that)
equals(Object). Единственное отличие заключается в том, что он принимает экземпляр DataFlavor в качестве параметра.- Параметры:
-
that-DataFlavorдля сравнения сthis - Возвращает:
-
true, еслиthatэквивалентен этомуDataFlavor;falseв противном случае - См. также:
equals
@Deprecated public boolean equals(String s)
hashCode(), используйте isMimeTypeEqual(String) вместо этого.mimeType с переданным String, и representationClass не учитывается при сравнении. Если необходимо сравнить representationClass, то можно использовать equals(new DataFlavor(s)).- Параметры:
-
s-mimeTypeдля сравнения - Возвращает:
-
true, если строка (MimeType) равна;falseв противном случае или еслиsявляетсяnull
hashCode
public int hashCode()
DataFlavor. Для двух равных DataFlavor хэш-коды равны. Для String, соответствующего DataFlavor.equals(String), не гарантируется, что хэш-код DataFlavor равен хэш-коду String.match
public boolean match(DataFlavor that)
equals(DataFlavor).- Параметры:
-
that-DataFlavorдля сравнения сthis - Возвращает:
-
true, еслиthatэквивалентен этомуDataFlavor;falseв противном случае - С:
- 1.3
- См. также:
isMimeTypeEqual
public boolean isMimeTypeEqual(String mimeType)
DataFlavor. Параметры не включены в сравнение.- Параметры:
-
mimeType- строковое представление типа MIME - Возвращает:
-
true, если строковое представление типа MIME, переданное в качестве параметра, эквивалентно типу MIME этогоDataFlavor;falseв противном случае - Исключения:
-
NullPointerException- если mimeType являетсяnull
isMimeTypeEqual
public final boolean isMimeTypeEqual(DataFlavor dataFlavor)
DataFlavor. Параметры не учитываются.- Параметры:
-
dataFlavor-DataFlavorдля сравнения - Возвращает:
-
true, если типы MIME равны, иначеfalse
isMimeTypeSerializedObject
public boolean isMimeTypeSerializedObject()
DataFlavor сериализованный объект?- Возвращает:
- является ли представленный объект сериализованным
getDefaultRepresentationClass
public final Class<?> getDefaultRepresentationClass()
- Возвращает:
- класс представления по умолчанию
getDefaultRepresentationClassAsString
public final String getDefaultRepresentationClassAsString()
- Возвращает:
- имя класса представления по умолчанию
isRepresentationClassInputStream
public boolean isRepresentationClassInputStream()
DataFlavor объект типа java.io.InputStream?- Возвращает:
- представляет ли этот
DataFlavorобъект типаjava.io.InputStream
isRepresentationClassReader
public boolean isRepresentationClassReader()
DataFlavor классом java.io.Reader или его подклассом.- Возвращает:
- является ли класс представления для этого
DataFlavorклассомjava.io.Readerили его подклассом - С:
- 1.4
isRepresentationClassCharBuffer
public boolean isRepresentationClassCharBuffer()
DataFlavor классом java.nio.CharBuffer или его подклассом.- Возвращает:
- является ли класс представления для этого
DataFlavorклассомjava.nio.CharBufferили его подклассом - С:
- 1.4
isRepresentationClassByteBuffer
public boolean isRepresentationClassByteBuffer()
DataFlavor классом java.nio.ByteBuffer или его подклассом.- Возвращает:
- является ли класс представления для этого
DataFlavorклассомjava.nio.ByteBufferили его подклассом - С:
- 1.4
isRepresentationClassSerializable
public boolean isRepresentationClassSerializable()
true, если класс представления может быть сериализован.- Возвращает:
-
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.Listобъектовjava.io.File
isFlavorTextType
public boolean isFlavorTextType()
DataFlavor допустимым текстовым форматом для этой реализации Java платформы. Только форматы, эквивалентные DataFlavor.stringFlavor и DataFlavor с основным MIME-типом "text", могут быть допустимыми. Если этот формат поддерживает параметр кодировки символов, он должен быть эквивалентен 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 платформы. Если кодировка символов не указана, предполагается платформа по умолчанию, которая всегда поддерживается.
Если этот формат не поддерживает параметр кодировки символов, его представление должно быть java.io.InputStream, java.nio.ByteBuffer или [B.
Смотрите selectBestTextFlavor для списка текстовых форматов, которые поддерживают параметр кодировки символов.
- Возвращает:
-
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 обрабатывать специальные параметры, такие как параметры text/plain charset, значения которых нечувствительны к регистру. (Значения параметров MIME-типа предполагаются чувствительными к регистру. Этот метод вызывается для каждой пары имя/значение параметра и должен вернуть нормализованное представление параметра parameterValue.
- Параметры:
-
parameterName- имя параметра -
parameterValue- значение параметра - Возвращает:
- значение параметра
normalizeMimeType
@Deprecated protected String normalizeMimeType(String mimeType)
DataFlavor возможность изменить то, как выполняется нормализация MIME-типов. Одним из возможных применений было бы добавление пар параметров/значений по умолчанию в тех случаях, когда в переданной строке MIME-типа они отсутствуют.- Параметры:
-
mimeType- MIME-тип - Возвращает:
- MIME-тип
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.datatransfer/java/awt/datatransfer/DataFlavor.html