Spec-Zone.ru › OpenJDK 8

Класс DataHandler

  • java.lang.Object
    • javax.activation.DataHandler
Все реализуемые интерфейсы:
Transferable

public class DataHandler
extends Object
implements Transferable

Класс DataHandler предоставляет согласованный интерфейс к данным, доступным из различных источников и форматов. Он управляет простыми преобразованиями потоков в строки и связанными операциями с помощью DataContentHandlers. Он предоставляет доступ к командам, которые могут работать с данными. Команды находятся с помощью CommandMap.

DataHandler и интерфейс Transferable

DataHandler реализует интерфейс Transferable, чтобы данные можно было использовать в операциях передачи данных AWT, таких как вырезание и вставка, перетаскивание и падение. Реализация интерфейса Transferable зависит от наличия установленного объекта DataContentHandler, соответствующего MIME-типу данных, представленных в конкретном экземпляре DataHandler.

DataHandler и CommandMap

DataHandler отслеживает текущую CommandMap, которую он использует для обработки запросов на команды (getCommand, getAllCommands, getPreferredCommands). Каждый экземпляр DataHandler может иметь связанную с ним CommandMap с помощью метода setCommandMap. Если CommandMap не был задан, DataHandler вызывает метод getDefaultCommandMap в CommandMap и использует возвращаемое им значение. Дополнительную информацию см. в разделе CommandMap.

DataHandler и URL

Текущая реализация DataHandler создает частный экземпляр URLDataSource, когда она создается с URL.

С тех пор:
1.6
См. также:
CommandMap, DataContentHandler, DataSource, URLDataSource

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

Конструктор и описание
DataHandler(DataSource ds)

Создает экземпляр DataHandler, ссылающийся на указанный DataSource.

DataHandler(Object obj, String mimeType)

Создает экземпляр DataHandler, представляющий объект данного MIME-типа.

DataHandler(URL url)

Создает экземпляр DataHandler, ссылающийся на URL.

Методы

Модификатор и тип Метод и описание
CommandInfo[] getAllCommands()

Возвращает все команды для этого типа данных.

Object getBean(CommandInfo cmdinfo)

Удобный метод, который принимает объект CommandInfo и создает соответствующую команду, обычно компонент JavaBean.

CommandInfo getCommand(String cmdName)

Получить команду cmdName.

Object getContent()

Возвращает данные в предпочтительной форме объекта.

String getContentType()

Возвращает MIME-тип этого объекта, полученный из исходного объекта.

DataSource getDataSource()

Возвращает DataSource, связанный с этим экземпляром DataHandler.

InputStream getInputStream()

Получить InputStream для этого объекта.

String getName()

Возвращает имя объекта данных.

OutputStream getOutputStream()

Получить OutputStream для этого DataHandler, чтобы разрешить перезапись базовых данных.

CommandInfo[] getPreferredCommands()

Возвращает предпочтительные команды для этого типа данных.

Object getTransferData(DataFlavor flavor)

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

DataFlavor[] getTransferDataFlavors()

Возвращает DataFlavors, в которых доступны эти данные.

boolean isDataFlavorSupported(DataFlavor flavor)

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

void setCommandMap(CommandMap commandMap)

Установить CommandMap для использования этим DataHandler.

static void setDataContentHandlerFactory(DataContentHandlerFactory newFactory)

Устанавливает DataContentHandlerFactory.

void writeTo(OutputStream os)

Записать данные в OutputStream.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

DataHandler

public DataHandler(DataSource ds)

Создайте экземпляр DataHandler, ссылающийся на указанный DataSource. Данные существуют в виде потока байтов. DataSource предоставит InputStream для доступа к данным.

Параметры:
ds - DataSource

DataHandler

public DataHandler(Object obj,
                   String mimeType)

Создайте экземпляр DataHandler, представляющий объект этого MIME-типа. Этот конструктор используется, когда приложение уже имеет представление данных в памяти в виде объекта Java.

Параметры:
obj - объект Java
mimeType - MIME-тип объекта

DataHandler

public DataHandler(URL url)

Создайте экземпляр DataHandler, ссылающийся на URL. DataHandler внутренне создаёт экземпляр URLDataSource для представления URL.

Параметры:
url - объект URL

Методы

getDataSource

public DataSource getDataSource()

Возвращает DataSource, связанный с этим экземпляром DataHandler.

Для DataHandler, созданных с DataSource, этот метод возвращает DataSource, который был использован для создания объекта DataHandler. В других случаях DataHandler строит DataSource из данных, использованных для создания DataHandler. DataSource, созданные для DataHandler, не созданных с DataSource, кэшируются для повышения производительности.

Возвращает:
действительный объект DataSource для этого DataHandler

getName

public String getName()

Возвращает имя объекта данных. Если этот DataHandler был создан с DataSource, этот метод вызывает метод DataSource.getName, в противном случае возвращает null.

Возвращает:
имя объекта

getContentType

public String getContentType()

Возвращает MIME-тип этого объекта, полученный из исходного объекта. Обратите внимание, что это полный тип с параметрами.

Возвращает:
MIME-тип

getInputStream

public InputStream getInputStream()
                           throws IOException

Получить InputStream для этого объекта.

Для DataHandler, созданных с DataSource, DataHandler вызывает метод DataSource.getInputStream и возвращает результат вызывающей стороне.

Для DataHandler, созданных с объектом, DataHandler сначала пытается найти DataContentHandler для объекта. Если DataHandler не может найти DataContentHandler для этого MIME-типа, он генерирует исключение UnsupportedDataTypeException. Если поиск успешен, он создаёт pipe и поток. Поток использует метод writeTo DataContentHandler для записи данных потока в один конец pipe. Другой конец pipe возвращается вызывающей стороне. Поскольку для копирования данных создаётся поток, исключения IOException, которые могут возникнуть во время копирования, не могут быть переданы обратно вызывающей стороне. Результатом является пустой поток.

Возвращает:
InputStream, представляющий эти данные
Исключения:
IOException - если произошла ошибка ввода-вывода
См. также:
DataContentHandler.writeTo(java.lang.Object, java.lang.String, java.io.OutputStream), UnsupportedDataTypeException

writeTo

public void writeTo(OutputStream os)
             throws IOException

Записать данные в OutputStream.

Если DataHandler был создан с DataSource, writeTo получает InputStream и копирует байты из InputStream в OutputStream, переданный в качестве параметра.

Если DataHandler был создан с объектом, writeTo получает DataContentHandler для типа объекта. Если DataContentHandler был найден, он вызывает метод writeTo на DataContentHandler.

Параметры:
os - OutputStream, в который необходимо записать
Исключения:
IOException - если произошла ошибка ввода-вывода

getOutputStream

public OutputStream getOutputStream()
                             throws IOException

Получить OutputStream для этого DataHandler, чтобы разрешить перезапись базовых данных. Если DataHandler был создан с DataSource, вызывается метод getOutputStream DataSource. В противном случае возвращается null.

Возвращает:
OutputStream
Исключения:
IOException
См. также:
DataSource.getOutputStream(), URLDataSource

getTransferDataFlavors

public DataFlavor[] getTransferDataFlavors()

Возвращает DataFlavors, в которых доступны эти данные.

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

DataHandler пытается найти DataContentHandler, соответствующий MIME-типу данных. Если он найден, DataHandler вызывает метод getTransferDataFlavors DataContentHandler.

Если DataContentHandler не найден, и если DataHandler был создан с DataSource (или URL), возвращается один DataFlavor, представляющий MIME-тип этого объекта и класс java.io.InputStream. Если DataHandler был создан с объектом и MIME-типом, getTransferDataFlavors возвращает один DataFlavor, представляющий MIME-тип этого объекта и класс объекта.

Задано в:
getTransferDataFlavors в интерфейсе Transferable
Возвращает:
массив типов данных, в которых эти данные могут быть переданы
См. также:
DataContentHandler.getTransferDataFlavors()

isDataFlavorSupported

public boolean isDataFlavorSupported(DataFlavor flavor)

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

Этот метод перебирает DataFlavors, возвращённые getTransferDataFlavors, сравнивая каждый с указанным типом.

Задано в:
isDataFlavorSupported в интерфейсе Transferable
Параметры:
flavor - запрашиваемый тип данных
Возвращает:
true, если тип данных поддерживается
См. также:
getTransferDataFlavors()

getTransferData

public Object getTransferData(DataFlavor flavor)
                       throws UnsupportedFlavorException,
                              IOException

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

Для DataHandler, созданных с DataSource или URL:

DataHandler пытается найти DataContentHandler для этого MIME-типа. Если он найден, переданный DataFlavor и тип данных передаются его методу getTransferData. Если DataHandler не находит DataContentHandler и тип данных указывает на MIME-тип этого объекта и класс java.io.InputStream, возвращается InputStream этого объекта. В противном случае генерируется исключение UnsupportedFlavorException.

Для DataHandler, созданных с объектами:

DataHandler пытается найти DataContentHandler для этого MIME-типа. Если он найден, переданный DataFlavor и тип данных передаются его методу getTransferData. Если DataHandler не находит DataContentHandler и тип данных указывает на MIME-тип этого объекта и его класс, возвращается объект, на который ссылается этот DataHandler. В противном случае генерируется исключение UnsupportedFlavorException.

Задано в:
getTransferData в интерфейсе Transferable
Параметры:
flavor - запрашиваемый тип данных
Возвращает:
объект
Исключения:
UnsupportedFlavorException - если данные не могут быть преобразованы в требуемый тип
IOException - если произошла ошибка ввода-вывода
См. также:
ActivationDataFlavor

setCommandMap

public void setCommandMap(CommandMap commandMap)

Установить CommandMap для использования этим DataHandler. Установка значения null приводит к тому, что CommandMap возвращается методом CommandMap.getDefaultCommandMap. Изменение CommandMap или установка его в null очищает кэшированные данные с предыдущего CommandMap.

Параметры:
commandMap - CommandMap для использования в этом DataHandler
См. также:
CommandMap.setDefaultCommandMap(javax.activation.CommandMap)

getPreferredCommands

public CommandInfo[] getPreferredCommands()

Возвращает предпочтительные команды для этого типа данных. Этот метод вызывает метод getPreferredCommands в CommandMap, связанном с этим экземпляром DataHandler. Этот метод возвращает массив, представляющий подмножество доступных команд. В случаях, когда несколько команд для MIME-типа, представленного этим DataHandler, присутствуют, установленный CommandMap выбирает соответствующие команды.

Возвращает:
объекты CommandInfo, представляющие предпочтительные команды
См. также:
CommandMap.getPreferredCommands(java.lang.String)

getAllCommands

public CommandInfo[] getAllCommands()

Возвращает все команды для этого типа данных. Этот метод возвращает массив, содержащий все команды для типа данных, представленного этим DataHandler. MIME-тип базовых данных, представленных этим DataHandler, используется для вызова метода getAllCommands CommandMap, связанного с этим DataHandler.

Возвращает:
объекты CommandInfo, представляющие все команды
См. также:
CommandMap.getAllCommands(java.lang.String)

getCommand

public CommandInfo getCommand(String cmdName)

Получить команду cmdName. Используйте правила поиска, определённые в CommandMap, установленные в этом DataHandler. MIME-тип базовых данных, представленных этим DataHandler, используется для вызова метода getCommand CommandMap, связанного с этим DataHandler.

Параметры:
cmdName - имя команды
Возвращает:
CommandInfo, соответствующая команде
См. также:
CommandMap.getCommand(java.lang.String, java.lang.String)

getContent

public Object getContent()
                  throws IOException

Возвращает данные в предпочтительной форме объекта.

Если DataHandler был инициализирован объектом, возвращает этот объект.

Если DataHandler был инициализирован DataSource, этот метод использует DataContentHandler для возврата объекта содержимого данных, представленных этим DataHandler. Если DataContentHandler не может быть найден для типа этих данных, DataHandler возвращает InputStream для данных.

Возвращает:
содержимое.
Издает:
IOException - если во время этой операции произошла ошибка IOException.

getBean

public Object getBean(CommandInfo cmdinfo)

Удобный метод, который принимает объект CommandInfo и создаёт соответствующую команду, обычно компонент JavaBean.

Этот метод вызывает метод getCommandObject объекта CommandInfo с ClassLoader , используемым для загрузки класса javax.activation.DataHandler.

Параметры:
cmdinfo - CommandInfo, соответствующий команде
Возвращает:
созданный объект команды

setDataContentHandlerFactory

public static void setDataContentHandlerFactory(DataContentHandlerFactory newFactory)

Устанавливает DataContentHandlerFactory. DataContentHandlerFactory вызывается в первую очередь для поиска DataContentHandler. DataContentHandlerFactory может быть установлена только один раз.

Если DataContentHandlerFactory уже была установлена, этот метод генерирует ошибку.

Параметры:
newFactory - DataContentHandlerFactory
Издает:
Error - если фабрика уже определена.
См. также:
DataContentHandlerFactory

© 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