Spec-Zone.ru › OpenJDK 8

Класс DataFlavor

  • java.lang.Object
    • java.awt.datatransfer.DataFlavor
Все реализованные интерфейсы:
Externalizable, Serializable, Cloneable
Прямые известные подклассы:
ActivationDataFlavor

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.

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

Поля

Модификатор и тип Поле и описание
static DataFlavor allHtmlFlavor

Представляет собой фрагмент разметки HTML.

static DataFlavor fragmentHtmlFlavor

Представляет собой фрагмент разметки HTML.

static DataFlavor imageFlavor

Класс DataFlavor представляет собой класс Java Image.

static DataFlavor javaFileListFlavor

Для передачи списка файлов в/из Java (и основной платформы) используется тип/подтип DataFlavor с классом представления java.util.List.

static String javaJVMLocalObjectMimeType

Для передачи ссылки на произвольный объект Java без ассоциированного типа MIME содержимого через интерфейс Transferable ВНУТРИ ОДНОЙ JVM используется тип/подтип DataFlavor с классом представления representationClass, равным типу передаваемого класса/интерфейса через Transferable.

static String javaRemoteObjectMimeType

Для передачи активной ссылки на удаленный объект через операцию перетаскивания ACTION_LINK используется тип MIME содержимого application/x-java-remote-object, где класс представления DataFlavor представляет тип интерфейса Remote для передачи.

static String javaSerializedObjectMimeType

Тип MIME содержимого application/x-java-serialized-object представляет собой граф объектов Java, которые были сделаны постоянными.

static DataFlavor plainTextFlavor

Устаревшее.

С версии 1.3 используйте DataFlavor.getReaderForText(Transferable) вместо Transferable.getTransferData(DataFlavor.plainTextFlavor).

static DataFlavor selectionHtmlFlavor

Представляет фрагмент разметки HTML.

static DataFlavor stringFlavor

Класс DataFlavor представляет собой класс Java Unicode String.

Конструкторы

Конструктор и описание
DataFlavor()

Создает новый DataFlavor.

DataFlavor(Class<?> representationClass, String humanPresentableName)

Создает DataFlavor, представляющий класс Java.

DataFlavor(String mimeType)

Создаёт DataFlavor из строки mimeType.

DataFlavor(String mimeType, String humanPresentableName)

Создает DataFlavor, представляющий MimeType.

DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader)

Создает DataFlavor, представляющий MimeType.

Методы

Модификатор и тип Метод и описание
Object clone()

Возвращает клонированную копию этого DataFlavor.

boolean equals(DataFlavor that)

Этот метод имеет такое же поведение, как и equals(Object).

boolean equals(Object o)

Указывает, является ли другой объект "равным" этому.

boolean equals(String s)

Устаревшее.

Ввиду несоответствия с контрактом hashCode(), используйте isMimeTypeEqual(String).

Class<?> getDefaultRepresentationClass()
String getDefaultRepresentationClassAsString()
String getHumanPresentableName()

Возвращает удобочитаемое имя формата данных, представленного этим DataFlavor.

String getMimeType()

Возвращает строку MIME-типа для этого DataFlavor.

String getParameter(String paramName)

Возвращает удобочитаемое имя этого DataFlavor , если paramName равно "humanPresentableName".

String getPrimaryType()

Возвращает основной MIME-тип для этого DataFlavor.

Reader getReaderForText(Transferable transferable)

Возвращает объект Reader для текстового формата, декодированного при необходимости, для ожидаемой кодировки символов.

Class<?> getRepresentationClass()

Возвращает Class , который объекты, поддерживающие этот DataFlavor , вернут при запросе этого DataFlavor.

String getSubType()

Возвращает подтип MIME этого DataFlavor.

static DataFlavor getTextPlainUnicodeFlavor()

Возвращает DataFlavor , представляющий простой текст с кодировкой Unicode, где:

int hashCode()

Возвращает хэш-код для этого DataFlavor.

boolean isFlavorJavaFileListType()

Возвращает true, если указанный DataFlavor представляет список объектов файлов.

boolean isFlavorRemoteObjectType()

Возвращает true, если указанный DataFlavor представляет удалённый объект.

boolean isFlavorSerializedObjectType()

Возвращает true, если указанный DataFlavor представляет сериализованный объект.

boolean isFlavorTextType()

Возвращает, является ли этот DataFlavor допустимым текстовым форматом для данной реализации Java платформы.

boolean isMimeTypeEqual(DataFlavor dataFlavor)

Сравнивает mimeType двух объектов DataFlavor.

boolean isMimeTypeEqual(String mimeType)

Возвращает true, если строковое представление MIME-типа, переданное в качестве аргумента, эквивалентно MIME-типу этого DataFlavor.

boolean isMimeTypeSerializedObject()

Представляет ли DataFlavor сериализованный объект?

boolean isRepresentationClassByteBuffer()

Возвращает, является ли класс представления для этого DataFlavor классом java.nio.ByteBuffer или его подклассом.

boolean isRepresentationClassCharBuffer()

Возвращает, является ли класс представления для этого DataFlavor классом java.nio.CharBuffer или его подклассом.

boolean isRepresentationClassInputStream()

Представляет ли DataFlavor java.io.InputStream?

boolean isRepresentationClassReader()

Возвращает, является ли класс представления для этого DataFlavor классом java.io.Reader или его подклассом.

boolean isRepresentationClassRemote()

Возвращает true, если класс представления является Remote.

boolean isRepresentationClassSerializable()

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

boolean match(DataFlavor that)

Идентично equals(DataFlavor).

protected String normalizeMimeType(String mimeType)

Устаревшее.

protected String normalizeMimeTypeParameter(String parameterName, String parameterValue)

Устаревшее.

void readExternal(ObjectInput is)

Восстанавливает этот DataFlavor из сериализованного состояния.

static DataFlavor selectBestTextFlavor(DataFlavor[] availableFlavors)

Выбирает лучший текстовый DataFlavor из массива DataFlavor.

void setHumanPresentableName(String humanPresentableName)

Устанавливает удобочитаемое имя формата данных, которое представляет этот DataFlavor.

String toString()

Строковое представление этого DataFlavor и его параметров.

protected static Class<?> tryToLoadClass(String className, ClassLoader fallback)

Пытается загрузить класс из: загрузчика базовой загрузки, системного загрузчика, загрузчика контекста (если он присутствует) и, наконец, указанного загрузчика.

void writeExternal(ObjectOutput os)

Сериализует этот DataFlavor.

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

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

Поля

stringFlavor

public static final DataFlavor stringFlavor

Представляющее класс Java Unicode String, где: DataFlavor

imageFlavor

public static final DataFlavor imageFlavor

Представляющее класс Java Image, где: DataFlavor

plainTextFlavor

@Deprecated
public static final DataFlavor plainTextFlavor

Устарело. начиная с версии 1.3. Используйте DataFlavor.getReaderForText(Transferable) вместо Transferable.getTransferData(DataFlavor.plainTextFlavor).

Представляющее обычный текст с кодировкой Unicode, где: DataFlavor Это

representationClass = InputStream
     mimeType            = "text/plain; charset=unicode"
устарело, потому что (1) его представление — это InputStream, представление на основе 8-битных данных, в то время как Unicode — 16-битная кодовая страница; и (2) кодировка «unicode» не определена надёжно. «unicode» подразумевает реализацию Unicode на конкретной платформе, а не кроссплатформенную.

javaSerializedObjectMimeType

public static final String javaSerializedObjectMimeType

MIME Content-Type application/x-java-serialized-object представляет граф Java объекта(ов), который был сохранён. Класс представления, связанный с этим DataFlavor определяет тип Java объекта, возвращённого как ссылка из вызова java.awt.datatransfer.getTransferData.

См. также:
Значения константного поля

javaFileListFlavor

public static final DataFlavor javaFileListFlavor

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

javaJVMLocalObjectMimeType

public static final String javaJVMLocalObjectMimeType

Для передачи ссылки на произвольную ссылку на Java-объект без связанного MIME Content-type через интерфейс Transferable В ТОЙ ЖЕ JVM используется DataFlavor с этим типом/подтипом и representationClass равным типу передаваемого класса/интерфейса через Transferable.

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

См. также:
Значения константного поля

javaRemoteObjectMimeType

public static final String javaRemoteObjectMimeType

Для передачи живой ссылки на удалённый объект через операцию перетаскивания ACTION_LINK должен использоваться MIME Content Type application/x-java-remote-object, где класс представления DataFlavor представляет тип интерфейса Remote для передачи.

См. также:
Значения константного поля

selectionHtmlFlavor

public static DataFlavor selectionHtmlFlavor

Представляет фрагмент HTML-разметки. Разметка состоит из части, выбранной на стороне источника. Следовательно, некоторые теги в разметке могут быть непарными. Если этот тип используется для представления данных в экземпляре Transferable, дополнительные изменения не будут внесены. Этот экземпляр DataFlavor представляет ту же HTML-разметку, что и экземпляры DataFlavor, тип MIME контента которых не содержит параметра документа, а класс представления — класс String.

representationClass = String
     mimeType           = "text/html"

fragmentHtmlFlavor

public static DataFlavor fragmentHtmlFlavor

Представляет фрагмент HTML-разметки. Если это возможно, полученная из нативной системы разметка дополняется парными тегами, чтобы стать правильно сформированной HTML-разметкой. Если этот тип используется для представления данных в экземпляре Transferable, дополнительные изменения не будут внесены.

representationClass = String
     mimeType           = "text/html"

allHtmlFlavor

public static DataFlavor allHtmlFlavor

Представляет фрагмент HTML-разметки. Если это возможно, полученная из нативной системы разметка дополняется дополнительными тегами для создания правильно сформированного HTML-документа. Если этот тип используется для представления данных в экземпляре Transferable, дополнительные изменения не будут внесены.

representationClass = String
     mimeType           = "text/html"

Конструкторы

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 - класс, используемый для передачи данных в этом типе
humanPresentableName - удобочитаемая строка, используемая для идентификации этого типа; если этот параметр null , используется значение MIME Content Type
Исключения:
NullPointerException - если representationClass имеет значение null

DataFlavor

public DataFlavor(String mimeType,
                  String humanPresentableName)

Создаёт DataFlavor для представления MimeType.

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

Если mimeType равно «application/x-java-serialized-object; class=<класс представления>», результат будет таким же, как при вызове new DataFlavor(Class:forName(<representation class>).

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

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

DataFlavor

public DataFlavor(String mimeType,
                  String humanPresentableName,
                  ClassLoader classLoader)
           throws ClassNotFoundException

Создаёт DataFlavor для представления MimeType.

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

Если mimeType равно «application/x-java-serialized-object; class=<класс представления>», результат будет таким же, как при вызове new DataFlavor(Class:forName(<representation class>).

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

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

DataFlavor

public DataFlavor(String mimeType)
           throws ClassNotFoundException

Создаёт DataFlavor из строки mimeType. Строка может содержать параметр «class=<полное имя Java класса>» для создания DataFlavor с желаемым классом представления. Если строка не содержит параметр «class=», java.io.InputStream используется по умолчанию.

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

Методы

tryToLoadClass

protected static final Class<?> tryToLoadClass(String className,
                                               ClassLoader fallback)
                                        throws ClassNotFoundException

Попытка загрузить класс из: загрузчика по умолчанию, системного загрузчика, загрузчика контекста (если он есть) и, наконец, указанного загрузчика.

Параметры:
className - имя загружаемого класса
fallback - загрузчик по умолчанию
Возвращает:
загруженный класс
Исключения:
ClassNotFoundException - если класс не найден

toString

public String toString()

Строковое представление этого DataFlavor и его параметров. Результирующая String содержит имя класса DataFlavor, MIME-тип этого типа и его класс представления. Если у этого типа основной MIME-тип «text», поддерживается параметр charset и есть кодированное представление, также включается charset типа. См. selectBestTextFlavor для списка текстовых типов, которые поддерживают параметр charset.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого DataFlavor
См. также:
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

getTextPlainUnicodeFlavor

public static final DataFlavor getTextPlainUnicodeFlavor()

Возвращает DataFlavor, представляющее обычный текст с кодировкой Unicode, где:

representationClass = java.io.InputStream
     mimeType            = "text/plain;
                            charset=<platform default Unicode encoding>"
Реализация Sun для Microsoft Windows использует кодировку utf-16le. Реализация Sun для Solaris и Linux использует кодировку iso-10646-ucs-2.

Возвращает:
DataFlavor, представляющее обычный текст с кодировкой Unicode
С тех пор как:
1.3

selectBestTextFlavor

public static final DataFlavor selectBestTextFlavor(DataFlavor[] availableFlavors)

Выбирает лучший текст DataFlavor из массива DataFlavor. Для выбора рассматриваются только DataFlavor.stringFlavor, и эквивалентные варианты, а также типы MIME с основным типом "text".

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

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

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

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

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

  • "text/sgml"
  • "text/xml"
  • "text/html"
  • "text/enriched"
  • "text/richtext"
  • "text/uri-list"
  • "text/directory"
  • "text/css"
  • "text/calendar"
  • "application/x-java-serialized-object"
  • "text/plain"
Следующие типы MIME не поддерживают или считаются не поддерживающими параметр charset:
  • "text/rtf"
  • "text/tab-separated-values"
  • "text/t140"
  • "text/rfc822-headers"
  • "text/parityfec"
Для типов MIME "text/<other>", в первый раз, когда JRE нужно определить, поддерживает ли тип MIME параметр charset, он проверит, указан ли параметр в произвольно выбранном 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, <все остальные>.

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

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

getReaderForText

public Reader getReaderForText(Transferable transferable)
                        throws UnsupportedFlavorException,
                               IOException

Возвращает Reader для текстового варианта, если необходимо, декодированного для ожидаемой кодировки. Поддерживаемые классы представления - java.io.Reader, java.lang.String, java.nio.CharBuffer, [C, java.io.InputStream, java.nio.ByteBuffer, и [B.

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

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

getMimeType

public String getMimeType()

Возвращает строку типа MIME для этого DataFlavor.

Возвращает:
строку типа MIME для этого варианта

getRepresentationClass

public Class<?> getRepresentationClass()

Возвращает Class, которое объекты, поддерживающие этот DataFlavor, вернут при запросе этого DataFlavor.

Возвращает:
Class, которое объекты, поддерживающие этот DataFlavor, вернут при запросе этого DataFlavor

getHumanPresentableName

public String getHumanPresentableName()

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

Возвращает:
удобочитаемое имя формата данных, которое представляет этот DataFlavor

getPrimaryType

public String getPrimaryType()

Возвращает основной тип MIME для этого DataFlavor.

Возвращает:
основной тип MIME этого DataFlavor

getSubType

public String getSubType()

Возвращает подтип MIME этого DataFlavor.

Возвращает:
подтип MIME этого DataFlavor

getParameter

public String getParameter(String paramName)

Возвращает удобочитаемое имя для этого DataFlavor если paramName равно "humanPresentableName". В противном случае возвращает значение типа MIME, связанное с paramName.

Параметры:
paramName - имя запрашиваемого параметра
Возвращает:
значение параметра с именем, или null если нет связанного значения

setHumanPresentableName

public void setHumanPresentableName(String humanPresentableName)

Устанавливает удобочитаемое имя формата данных, которое представляет этот DataFlavor. Это имя локализовано для разных стран.

Параметры:
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.

Метод equals для класса Object реализует максимально возможное отношение эквивалентности для объектов; то есть для любых значений ссылок на объекты, отличные от null, x и y, этот метод возвращает true тогда и только тогда, когда x и y ссылаются на один и тот же объект (x == y имеет значение true).

Обратите внимание, что обычно необходимо переопределять метод hashCode всякий раз, когда этот метод переопределяется, чтобы сохранить общий контракт для метода hashCode, который гласит, что равные объекты должны иметь равные коды хеширования.

Сравнение на равенство для класса 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 - сравниваемый объект Object с this
Returns:
true если that эквивалентен этому DataFlavor; false в противном случае
См. также:
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

equals

public boolean equals(DataFlavor that)

Этот метод имеет такое же поведение, как equals(Object). Единственное отличие заключается в том, что в качестве параметра используется экземпляр DataFlavor.

Parameters:
that - сравниваемый объект DataFlavor с this
Returns:
true если that эквивалентен этому DataFlavor; false в противном случае
См. также:
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

equals

@Deprecated
public boolean equals(String s)

Устарело. Несовместимо с контрактом hashCode(), используйте isMimeTypeEqual(String) вместо этого.

Сравнивает только mimeType с переданным String, и representationClass в сравнении не учитывается. Если representationClass необходимо сравнить, то можно использовать equals(new DataFlavor(s)).

Parameters:
s - сравниваемый mimeType.
Returns:
true, если строка (MimeType) равна; false в противном случае или если s равно null

hashCode

public int hashCode()

Возвращает код хэширования для данного DataFlavor. Для двух равных DataFlavor коды хэширования равны. Для String которые соответствуют DataFlavor.equals(String), не гарантируется, что код хэширования DataFlavor равен коду хэширования String.

Overrides:
hashCode в классе Object
Returns:
код хэширования для данного DataFlavor
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

match

public boolean match(DataFlavor that)

Идентично equals(DataFlavor).

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

isMimeTypeEqual

public boolean isMimeTypeEqual(String mimeType)

Возвращает, эквивалентно ли строковое представление типа MIME, переданное в качестве параметра, типу MIME этого DataFlavor. Параметры в сравнении не учитываются.

Parameters:
mimeType - строковое представление типа MIME
Returns:
true, если строковое представление типа MIME, переданное в качестве параметра, эквивалентно типу MIME этого DataFlavor; false в противном случае
Throws:
NullPointerException - если mimeType null

isMimeTypeEqual

public final boolean isMimeTypeEqual(DataFlavor dataFlavor)

Сравнивает типы MIME двух объектов DataFlavor. Параметры не учитываются.

Parameters:
dataFlavor - сравниваемый объект DataFlavor
Returns:
true, если типы MIME равны; в противном случае false

isMimeTypeSerializedObject

public boolean isMimeTypeSerializedObject()

Представляет ли DataFlavor сериализованный объект?

getDefaultRepresentationClass

public final Class<?> getDefaultRepresentationClass()

getDefaultRepresentationClassAsString

public final String getDefaultRepresentationClassAsString()

isRepresentationClassInputStream

public boolean isRepresentationClassInputStream()

Представляет ли DataFlavor java.io.InputStream?

isRepresentationClassReader

public boolean isRepresentationClassReader()

Возвращает true, если класс представления для данного DataFlavor равен java.io.Reader или его подклассу.

Since:
1.4

isRepresentationClassCharBuffer

public boolean isRepresentationClassCharBuffer()

Возвращает true, если класс представления для данного DataFlavor равен java.nio.CharBuffer или его подклассу.

Since:
1.4

isRepresentationClassByteBuffer

public boolean isRepresentationClassByteBuffer()

Возвращает true, если класс представления для данного DataFlavor равен java.nio.ByteBuffer или его подклассу.

Since:
1.4

isRepresentationClassSerializable

public boolean isRepresentationClassSerializable()

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

Returns:
true, если класс представления может быть сериализован

isRepresentationClassRemote

public boolean isRepresentationClassRemote()

Возвращает true, если класс представления равен Remote.

Returns:
true, если класс представления равен Remote

isFlavorSerializedObjectType

public boolean isFlavorSerializedObjectType()

Возвращает true, если указанный DataFlavor представляет сериализованный объект.

Returns:
true, если указанный DataFlavor представляет сериализованный объект

isFlavorRemoteObjectType

public boolean isFlavorRemoteObjectType()

Возвращает true, если указанный DataFlavor представляет удаленный объект.

Returns:
true, если указанный DataFlavor представляет удаленный объект

isFlavorJavaFileListType

public boolean isFlavorJavaFileListType()

Возвращает true, если указанный DataFlavor представляет список объектов файлов.

Returns:
true, если указанный DataFlavor представляет список объектов файлов

isFlavorTextType

public boolean isFlavorTextType()

Возвращает, является ли данный DataFlavor допустимым типом текста для данной реализации Java платформы. Только типы, эквивалентные DataFlavor.stringFlavor и DataFlavor с основным типом MIME "text", могут быть допустимыми типами текста.

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

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

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

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

writeExternal

public void writeExternal(ObjectOutput os)
                   throws IOException

Сериализует этот DataFlavor.

Определено в:
writeExternal в интерфейсе Externalizable
Параметры:
os - поток для записи объекта
Исключения:
IOException - Включает любые исключения I/O, которые могут возникнуть

readExternal

public void readExternal(ObjectInput is)
                  throws IOException,
                         ClassNotFoundException

Восстанавливает этот DataFlavor из сериализованного состояния.

Определено в:
readExternal в интерфейсе Externalizable
Параметры:
is - поток для чтения данных с целью восстановления объекта
Исключения:
IOException - если возникают ошибки I/O
ClassNotFoundException - Если класс объекта, который восстанавливается, не найден.

clone

public Object clone()
             throws CloneNotSupportedException

Возвращает копию этого DataFlavor.

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

normalizeMimeTypeParameter

@Deprecated
protected String normalizeMimeTypeParameter(String parameterName,
                                                        String parameterValue)

Устарело.

Вызывается для каждого параметра MIME-типа в DataFlavor чтобы DataFlavor подклассы могли обрабатывать специальные параметры, такие как параметры text/plain charset, значения которых не зависят от регистра. (Значения параметров MIME-типов должны быть чувствительными к регистру.

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

normalizeMimeType

@Deprecated
protected String normalizeMimeType(String mimeType)

Устарело.

Вызывается для каждой строки MIME-типа, чтобы DataFlavor подтипы имели возможность изменить способ нормализации MIME-типов. Одним из возможных применений было бы добавление пар параметр/значение по умолчанию в случаях, когда они отсутствуют в строке MIME-типа, переданной в. Этот метод никогда не вызывается этой реализацией начиная с версии 1.1.

© 1993, 2020, 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.

Spec-Zone.ru

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