Класс DataFlavor
- Все реализованные интерфейсы:
Externalizable, Serializable, Cloneable
public class DataFlavor extends Object implements Externalizable, Cloneable
DataFlavor предоставляет метаинформацию о данных. DataFlavor обычно используется для доступа к данным в буфере обмена или во время операции перетаскивания. Экземпляр DataFlavor инкапсулирует тип содержимого, определённый в RFC 2045 и RFC 2046. Тип содержимого обычно называют типом MIME.
Тип содержимого состоит из типа носителя (называемого основным типом), подтипа и необязательных параметров. Подробнее о синтаксисе типа MIME см. в RFC 2045.
Реализация передачи данных JRE интерпретирует параметр MIME-типа "class" как класс представления. Класс представления отражает класс передаваемого объекта. Другими словами, класс представления — это тип объекта, возвращаемого методом Transferable.getTransferData(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(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 или из Java (и нижележащей платформы) используется DataFlavor этого типа/подтипа и класса представления java.util.List. |
static final String |
javaJVMLocalObjectMimeType |
Для передачи ссылки на произвольный объект Java, не имеющий связанного типа содержимого MIME, через интерфейс Transferable В ПРЕДЕЛАХ ОДНОЙ JVM используется DataFlavor с этим типом/подтипом и representationClass, равным типу класса/интерфейса, передаваемого через 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 |
DataFlavor, представляющий класс строки Unicode Java, где: |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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 |
Пытается загрузить класс с помощью загрузчика начальной загрузки, системного загрузчика, загрузчика контекста (если он имеется) и, наконец, указанного загрузчика. |
void |
writeExternal |
Сериализует этот DataFlavor. |
Подробное описание полей
stringFlavor
public static final DataFlavor stringFlavor
DataFlavor, представляющий класс Java Unicode String, где:
representationClass = java.lang.String
mimeType = "application/x-java-serialized-object"
imageFlavor
public static final DataFlavor imageFlavor
DataFlavor, представляющий класс Java Image, где:
representationClass = java.awt.Image
mimeType = "image/x-java-image"
Будет null, если java.awt.Image невидим, модуль java.desktop не загружен или модуль java.desktop отсутствует в образе времени выполнения.plainTextFlavor
@Deprecated public static final DataFlavor plainTextFlavor
Transferable.getTransferData(DataFlavor.plainTextFlavor) используйте getReaderForText(Transferable).DataFlavor, представляющий обычный текст в кодировке Unicode, где:
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, должна быть экземпляром класса представления 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()
DataFlavor. Этот конструктор предоставляется только для поддержки интерфейса Externalizable. Он не предназначен для публичного использования клиентами.- Начиная с версии:
- 1.2
DataFlavor
public DataFlavor(Class<?> representationClass, String humanPresentableName)
DataFlavor, представляющий класс Java. Возвращаемый DataFlavor будет обладать следующими характеристиками:
representationClass = representationClass mimeType = application/x-java-serialized-object
- Параметры:
-
representationClass— класс, используемый для передачи данных в этом flavor -
humanPresentableName— понятная человеку строка, используемая для идентификации этого flavor; если этот параметр равенnull, используется значение типа содержимого MIME - Исключения:
-
NullPointerException— еслиrepresentationClassравноnull
DataFlavor
public DataFlavor(String mimeType, String humanPresentableName)
DataFlavor, представляющий MimeType. Возвращаемый DataFlavor будет обладать следующими характеристиками:
Если mimeType имеет значение "application/x-java-serialized-object; class=<representation class>", результат будет таким же, как при вызове new DataFlavor(Class.forName(<representation class>).
В противном случае:
representationClass = InputStream
mimeType = mimeType
- Параметры:
-
mimeType— строка, используемая для идентификации типа MIME этого flavor; еслиmimeTypeне содержит параметр "class=" или если класс не удается загрузить, выбрасываетсяIllegalArgumentException -
humanPresentableName— понятная человеку строка, используемая для идентификации этого flavor; если этот параметр равен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=<representation class>", результат будет таким же, как при вызове new DataFlavor(Class.forName(<representation class>).
В противном случае:
representationClass = InputStream
mimeType = mimeType
- Параметры:
-
mimeType— строка, используемая для идентификации типа MIME этого flavor -
humanPresentableName— понятная человеку строка, используемая для идентификации этого flavor -
classLoader— загрузчик классов, который следует использовать - Исключения:
-
ClassNotFoundException— если класс не загружен -
IllegalArgumentException— еслиmimeTypeимеет недопустимое значение -
NullPointerException— еслиmimeTypeравноnull
DataFlavor
public DataFlavor(String mimeType) throws ClassNotFoundException
DataFlavor из строки mimeType. В строке можно указать параметр "class=<fully specified Java class name>", чтобы создать DataFlavor с желаемым классом представления. Если строка не содержит параметр "class=", по умолчанию используется java.io.InputStream.- Параметры:
-
mimeType— строка, используемая для идентификации типа MIME этого flavor; если класс, указанный параметром "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 этого flavor и его класс представления. Если основной тип MIME этого flavor — "text", поддерживается параметр charset и представление имеет кодировку, в результат также включается кодировка flavor. Список текстовых flavor, поддерживающих параметр charset, см. в selectBestTextFlavor.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. - Возвращаемое значение:
DataFlavor, представляющий обычный текст в кодировке Unicode- Начиная с версии:
- 1.3
selectBestTextFlavor
public static final DataFlavor selectBestTextFlavor(DataFlavor[] availableFlavors)
DataFlavor из массива DataFlavor. При выборе учитываются только DataFlavor.stringFlavor и эквивалентные flavor, а также flavor с основным типом MIME "text". Сначала flavor сортируются по типу 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.
Если два или более flavor в массиве имеют наилучший тип 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 с типом MIME "text/<other>". Несоблюдение этого ограничения приведет к неопределенному поведению. Если наилучший тип MIME в массиве не поддерживает параметр charset, flavor с этим типом MIME сортируются по классам представления в следующем порядке: java.io.InputStream, java.nio.ByteBuffer, [B, <все остальные>.
Если два или более flavor имеют наилучший класс представления или ни один flavor не имеет одного из трех указанных представлений, один из этих flavor выбирается недетерминированно.
Если наилучший тип MIME в массиве поддерживает параметр charset, flavor с этим типом MIME сортируются по классам представления в следующем порядке: java.io.Reader, java.lang.String, java.nio.CharBuffer, [C, <все остальные>.
Если два или более flavor имеют наилучший класс представления, и это представление входит в число четырех явно перечисленных, один из этих flavor выбирается недетерминированно. Однако, если ни один flavor не имеет одного из четырех указанных представлений, flavor сортируются по кодировкам. Кодировки Unicode, такие как "UTF-16", "UTF-8", "UTF-16BE", "UTF-16LE" и их псевдонимы, считаются наилучшими. За ними следуют кодировка платформы по умолчанию и ее псевдонимы. "US-ASCII" и ее псевдонимы считаются наихудшими. Все остальные кодировки выбираются в алфавитном порядке, но учитываются только кодировки, поддерживаемые этой реализацией платформы Java.
Если два или более flavor имеют наилучшую кодировку, они снова сортируются по классам представления в следующем порядке: java.io.InputStream, java.nio.ByteBuffer, [B, <все остальные>.
Если два или более flavor имеют наилучший класс представления или ни один flavor не имеет одного из трех указанных представлений, один из этих flavor выбирается недетерминированно.
- Параметры:
-
availableFlavors— массив доступныхDataFlavor - Возвращаемое значение:
- наилучший flavor (с наибольшей точностью) согласно указанным выше правилам или
null, еслиavailableFlavorsравноnull, имеет нулевую длину или не содержит текстовых flavor - Начиная с версии:
- 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. Поскольку текстовые flavor, не поддерживающие параметр charset, кодируются в нестандартном формате, этот метод не следует вызывать для таких flavor. Однако для обеспечения обратной совместимости при вызове этого метода для такого flavor он будет считать, что flavor поддерживает параметр charset, и попытается выполнить соответствующее декодирование. Список текстовых flavor, не поддерживающих параметр charset, см. в selectBestTextFlavor.
- Параметры:
-
transferable—Transferable, данные которого будут запрошены в этом flavor - Возвращаемое значение:
Readerдля чтения данныхTransferable- Исключения:
-
IllegalArgumentException— если класс представления не входит в число семи перечисленных выше -
IllegalArgumentException— еслиTransferableсодержитnullданные -
NullPointerException— еслиTransferableравноnull -
UnsupportedEncodingException— если представление этого flavor —java.io.InputStream,java.nio.ByteBufferили[B, а его кодировка не поддерживается этой реализацией платформы Java -
UnsupportedFlavorException— еслиTransferableне поддерживает этот flavor -
IOException— если данные не удается прочитать из-за ошибки ввода-вывода - Начиная с версии:
- 1.3
- См. также:
getMimeType
public String getMimeType()
DataFlavor.- Возвращаемое значение:
- строка типа MIME для этого flavor
getRepresentationClass
public Class<?> getRepresentationClass()
Class, который будут возвращать объекты, поддерживающие этот DataFlavor, при запросе этого DataFlavor.- Возвращаемое значение:
Class, который будут возвращать объекты, поддерживающие этот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, если paramName равно "humanPresentableName". В противном случае возвращает значение типа MIME, связанное с paramName.- Параметры:
-
paramName— запрашиваемое имя параметра - Возвращаемое значение:
- значение параметра name или
null, если связанное значение отсутствует
setHumanPresentableName
public void setHumanPresentableName(String humanPresentableName)
DataFlavor. Это имя локализуется для разных стран.- Параметры:
-
humanPresentableName— новое понятное человеку имя
equals
public boolean equals(Object o)
Метод equals задает отношение эквивалентности для ненулевых ссылок на объекты:
- Оно рефлексивно: для любого ненулевого значения ссылки
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.
Отношение эквивалентности разбивает множество рассматриваемых элементов на классы эквивалентности; все элементы одного класса эквивалентны друг другу. Элементы класса эквивалентности взаимозаменяемы, по крайней мере в некоторых случаях.
Сравнение на равенство для класса DataFlavor реализовано следующим образом: два экземпляра DataFlavor считаются равными тогда и только тогда, когда их основные типы и подтипы MIME, а также классы представления равны. Кроме того, если основной тип — "text", подтип обозначает текстовый flavor, поддерживающий параметр charset, а класс представления не является java.io.Reader, java.lang.String, java.nio.CharBuffer или [C, параметры charset также должны быть равны. Если кодировка явно не указана для одного или обоих экземпляров DataFlavor, предполагается кодировка платформы по умолчанию. Список текстовых flavor, поддерживающих параметр charset, см. в selectBestTextFlavor.
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)
mimeType двух объектов DataFlavor. Параметры не учитываются.- Параметры:
-
dataFlavor—DataFlavorдля сравнения - Возвращает:
-
true, еслиMimeTypeравны, в противном случаеfalse
isMimeTypeSerializedObject
public boolean isMimeTypeSerializedObject()
DataFlavor сериализованный объект?- Возвращает:
- указывает, представлен ли сериализованный объект
getDefaultRepresentationClass
public final Class<?> getDefaultRepresentationClass()
- Возвращает:
- класс представления по умолчанию
getDefaultRepresentationClassAsString
public final String getDefaultRepresentationClassAsString()
- Возвращает:
- имя класса представления по умолчанию
isRepresentationClassInputStream
public boolean isRepresentationClassInputStream()
DataFlavor java.io.InputStream?- Возвращает:
- указывает, представляет ли этот
DataFlavorjava.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.Listjava.io.Fileобъектов
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, его представлением должно быть java.io.InputStream, java.nio.ByteBuffer или [B.
Список текстовых типов, поддерживающих параметр charset, см. в 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 для каждого параметра типа MIME, чтобы подклассы DataFlavor могли обрабатывать специальные параметры, например параметры charset для text/plain, значения которых не чувствительны к регистру. (Значения параметров типа 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://docs.oracle.com/en/java/javase/25/docs/api/java.datatransfer/java/awt/datatransfer/DataFlavor.html