| Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) | Эта статья слишком полагается на Рекомендации к основные источники. Пожалуйста, улучшите это, добавив вторичные или третичные источники. (Июнь 2008 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
| Эта статья предоставляет недостаточный контекст для тех, кто не знаком с предметом. Пожалуйста помоги улучшить статью к обеспечение большего контекста для читателя. (Октябрь 2009 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
| Тема этой статьи может не соответствовать Википедии общее руководство по известности. Пожалуйста, помогите установить известность, указав надежные вторичные источники которые независимый темы и обеспечить ее подробное освещение, помимо банального упоминания. Если известность не может быть установлена, статья, вероятно, будет слился, перенаправлен, или же удалено. Найдите источники: «Активация Джакарты» – Новости · газеты · книги · ученый · JSTOR (Сентябрь 2010 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
| Эта статья использует цитаты который ссылка на неработающие или устаревшие источники. Пожалуйста улучшить статью или обсудите этот вопрос на страница обсуждения. Помощь по использованию сносок имеется. (Сентябрь 2019) (Узнайте, как и когда удалить этот шаблон сообщения) |
(Узнайте, как и когда удалить этот шаблон сообщения) |
Активация Джакарты (JAF; ранее JavaBeans Activation Framework) является Джакарта EE API, позволяющий разработчикам:[1]
- определить тип произвольного фрагмента данных,
- инкапсулировать доступ к нему,
- откройте для себя операции, доступные на нем, и
- для создания соответствующего bean-компонента для выполнения операции (операций).
Он также позволяет разработчикам динамически регистрировать типы произвольных данных и действия, связанные с определенными типами данных. Кроме того, он позволяет программе динамически предоставлять или извлекать JavaBeans которые реализуют действия, связанные с некоторыми данными. Первоначально API расширения, он был доступен как стандартный API в Java SE (начиная с Java SE 6) и Java EE, но был удален в Java SE 11.
DataSource Интерфейс
- Предоставляет доступ к произвольной коллекции данных
- Получить имя данных, имя типа данных (тип содержимого) и сами данные как входной поток или выходной поток
- Предусмотрено два класса реализации
- URLDataSource упрощает обработку данных, описываемых URL-адресами
- FileDataSource простой объект DataSource, который инкапсулирует файл, предоставляет услуги ввода данных -> делегированные объекту FileTypeMap.
- Другие реализации
- javax.mail.internet.MimePartDataSource
- javax.mail.util.ByteArrayDataSource
DataContentHandler интерфейс
- Преобразуйте объект в поток байтов и запишите его в поток вывода
- Преобразование потоков в объекты
- Используется для получения объекта / данных, которые можно передать
- Использует java.awt.datatransfer.DataFlavor для указания данных, к которым можно получить доступ. DataFlavor - это формат данных, который отображается в буфере обмена, при перетаскивании или в файловой системе.
CommandMap класс
- An абстрактный класс предоставляет интерфейс к реестру командных объектов, доступных в системе
- Разработчик разрабатывает собственную реализацию или использует
- MailcapCommandMap класс, реализующий CommandMap, конфигурация которого основана на файлах mailcap (1524 )
- Список команд доступен из MIME Тип хранится в CommandInfo объект.
CommandObject интерфейс
- Интерфейс, который будет реализован компонентами JavaBeans, поддерживающими ActivationFramework.
- Простой интерфейс с одним методом:
- setCommandContext (строковый глагол, DataHandler dh)
Пример: написать электронное письмо с вложением
импорт javax.activation.DataHandler;импорт javax.activation.FileDataSource;импорт javax.mail.internet. *;импорт javax.mail. *;...// Создаем сообщение.MimeMessage сообщение = новый MimeMessage(сессия);...// Создаем Multipart для добавления частей кСоставной составной= новый MimeMultipart();// Создаем и заполняем первую часть текстового сообщенияMimeBodyPart mbp = новый MimeBodyPart();mbp.setText("Тело");составной.addBodyPart(mbp);// Создаем вложение файла и заполняем как вторую часть сообщенияMimeBodyPart mbp = новый MimeBodyPart();FileDataSource fds = новый FileDataSource("C: attachment.zip");mbp.setDataHandler(новый DataHandler(fds));mbp.setFileName(fds.getName());составной.addBodyPart(mbp);// Добавляем multipart к сообщениюсообщение.setContent(составной);...
Рекомендации
внешняя ссылка