Spec-Zone .ru
спецификации, руководства, описания, API


javax.mail.internet
Класс MimeMultipart

java.lang.Object
  расширенный javax.mail.Multipart
      расширенный javax.mail.internet.MimeMultipart

public class MimeMultipart
расширяется Многослойный

class MimeMultipart является реализацией абстрактного Многослойного class, который использует соглашения MIME для многослойных данных.

MimeMultipart получается из MimePart, основной тип которого является "многослойным" (вызывая часть getContent() метод), или это может быть создано клиентом как часть создания нового MimeMessage.

Значение по умолчанию многослойный подтип "смешивается". Другие многослойные подтипы, такой столь же "альтернативный", "связанный", и так далее, могут быть реализованы как подклассы MimeMultipart с дополнительными методами, чтобы реализовать дополнительную семантику того типа многослойного контента. Намерение состоит в том, что поставщики услуг, почтовые писатели JavaBean и почтовые клиенты запишут много таких подклассов и их Бобы Команды, и установят их в Платформу Активации JavaBeans, так, чтобы любая реализация JavaMail и ее клиенты могли прозрачно найти и использовать эти классы. Таким образом MIME многослойный обработчик обрабатывается точно так же как любой другой обработчик типа, таким образом разъединяя процесс обеспечения многослойных обработчиков от API JavaMail. Испытывая недостаток в этих дополнительных подклассах MimeMultipart, все подтипы MIME, многослойные данные появляются как MimeMultipart, возражают.

Приложение может непосредственно создать MIME многослойный объект любого подтипа при использовании MimeMultipart(String subtype) конструктор. Например, чтобы создать "многослойный/альтернативный" объект, использовать new MimeMultipart("alternative").

mail.mime.multipart.ignoremissingendboundary свойство может быть установлено в false вызвать a MessagingException быть брошенным, если многослойные данные не заканчиваются необходимой границей конца. Если это свойство устанавливается в true или не набор, недостающие границы конца не считают ошибкой и заключительными концами части тела в конце данных.

mail.mime.multipart.ignoremissingboundaryparameter Системное свойство может быть установлено в false вызвать a MessagingException быть брошенным, если Тип контента MimeMultipart не включает a boundary параметр. Если это свойство устанавливается в true или не набор, многослойный код парсинга будет искать строку, которая похожа на bounary строку, и используйте это в качестве границы, разделяющей части.

Текущая реализация также поддерживает следующие свойства:

mail.mime.multipart.ignoreexistingboundaryparameter Системное свойство может быть установлено в true чтобы заставить любую границу, которая будет игнорироваться и вместо этого, ищут границу в сообщении как с mail.mime.multipart.ignoremissingboundaryparameter.

Обычно, выписывая MimeMultipart, который не содержит частей тела, или пытаясь проанализировать многослойное сообщение без частей тела, a MessagingException бросается. Спецификация MIME не позволяет многослойный контент без частей тела. mail.mime.multipart.allowempty Системное свойство может быть установлено в true переопределять это поведение. Выписывая такому MimeMultipart, единственная пустая часть будет включена. Читая такое многослойное, MimeMultipart будет создаваться без частей тела.

Автор:
Джон Мани, Билл Шеннон, Макс Спивэк

Полевая Сводка
protected  javax.activation.DataSource ds
          DataSource, предоставляющий наш InputStream.
protected  boolean проанализированный
          Мы проанализировали данные от нашего InputStream все же? Значения по умолчанию к истине; набор ко лжи, когда нашему конструктору дают DataSource с InputStream, который мы должны проанализировать.
 
Поля, наследованные от class javax.mail. Многослойный
contentType, parent, parts
 
Сводка конструктора
MimeMultipart()
          Конструктор по умолчанию.
MimeMultipart(javax.activation.DataSource ds)
          Создает объект MimeMultipart и его bodyparts от данного DataSource.
MimeMultipart(java.lang.String subtype)
          Создайте объект MimeMultipart данного подтипа.
 
Сводка метода
 void addBodyPart(BodyPart part)
          Добавляет Часть к многослойному.
 void addBodyPart(BodyPart part, int index)
          Добавляет BodyPart в позиции index.
protected  InternetHeaders createInternetHeaders(java.io.InputStream is)
          Создайте и возвратитесь, InternetHeaders возражают, что загружает заголовки из данного InputStream.
protected  MimeBodyPart createMimeBodyPart(java.io.InputStream is)
          Создайте и возвратите объект MimeBodyPart представить часть тела, проанализированную от InputStream.
protected  MimeBodyPart createMimeBodyPart(InternetHeaders headers, byte[] content)
          Создайте и возвратите объект MimeBodyPart представить часть тела, проанализированную от InputStream.
 BodyPart getBodyPart(int index)
          Получите указанный BodyPart.
 BodyPart getBodyPart(java.lang.String CID)
          Упомяните MimeBodyPart данным ContentID (идентификация вызывающего абонента).
 int getCount()
          Возвратите число включенных объектов BodyPart.
 java.lang.String getPreamble()
          Получите текст преамбулы, если таковые вообще имеются, который появляется перед первой частью тела этого многослойного.
 boolean isComplete()
          Возвратите true, если заключительная граница для этого многослойного была замечена.
protected  void parse()
          Проанализируйте InputStream от нашего DataSource, создавая соответствующий MimeBodyParts.
 boolean removeBodyPart(BodyPart part)
          Удалите указанную часть из многослойного сообщения.
 void removeBodyPart(int index)
          Удалите часть в указанном расположении (запускающийся от 0).
 void setPreamble(java.lang.String preamble)
          Установите текст преамбулы, который будет включен перед первой частью тела.
 void setSubType(java.lang.String subtype)
          Установите подтип.
protected  void updateHeaders()
          Заголовки обновления.
 void writeTo(java.io.OutputStream os)
          Выполняет итерации через все части и выводы каждой части MIME, разделенной границей.
 
Методы, наследованные от class javax.mail. Многослойный
getContentType, getParent, setMultipartDataSource, setParent
 
Методы, наследованные от class java.lang. Объект
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Полевая Деталь

ds

protected javax.activation.DataSource ds
DataSource, предоставляющий наш InputStream.


проанализированный

protected boolean parsed
Мы проанализировали данные от нашего InputStream все же? Значения по умолчанию к истине; набор ко лжи, когда нашему конструктору дают DataSource с InputStream, который мы должны проанализировать.

Деталь конструктора

MimeMultipart

public MimeMultipart()
Конструктор по умолчанию. Создается пустой объект MimeMultipart. Его тип контента устанавливается в "многослойный/смешанный". Уникальная граничная строка сгенерирована, и эта строка является установкой как "граничным" параметром для contentType поле.

MimeBodyParts может быть добавлен позже.


MimeMultipart

public MimeMultipart(java.lang.String subtype)
Создайте объект MimeMultipart данного подтипа. Уникальная граничная строка сгенерирована, и эта строка является установкой как "граничным" параметром для contentType поле.

MimeBodyParts может быть добавлен позже.


MimeMultipart

public MimeMultipart(javax.activation.DataSource ds)
              throws MessagingException
Создает объект MimeMultipart и его bodyparts от данного DataSource.

Этот конструктор обрабатывает как особый случай ситуация, где данный DataSource является объектом MultipartDataSource. В этом случае этот метод только вызывает суперкласс (то есть, Многослойный) конструктор, который берет объект MultipartDataSource.

Иначе, DataSource, как предполагается, обеспечивает MIME многослойный поток байтов. parsed флаг устанавливается в ложь. Когда данные для частей тела необходимы, синтаксический анализатор извлекает "граничный" параметр из типа контента этого DataSource, пропускает 'преамбулу' и читает байты до завершающейся границы и создает MimeBodyParts для каждой части потока.

Параметры:
ds - DataSource, может быть MultipartDataSource
Броски:
MessagingException
Деталь метода

setSubType

public void setSubType(java.lang.String subtype)
                throws MessagingException
Установите подтип. Этот метод должен быть вызван только на новом объекте MimeMultipart, создаваемом клиентом. Подтип значения по умолчанию такого многослойного объекта "смешивается".

Параметры:
subtype - Подтип
Броски:
MessagingException

getCount

public int getCount()
             throws MessagingException
Возвратите число включенных объектов BodyPart.

Переопределения:
getCount в class Multipart
Возвраты:
число частей
Броски:
MessagingException
См. Также:
Multipart.parts

getBodyPart

public BodyPart getBodyPart(int index)
                     throws MessagingException
Получите указанный BodyPart. BodyParts перечисляются, запускаясь в 0.

Переопределения:
getBodyPart в class Multipart
Параметры:
index - индексирование требуемого BodyPart
Возвраты:
Часть
Броски:
MessagingException - если никакой такой BodyPart не существует

getBodyPart

public BodyPart getBodyPart(java.lang.String CID)
                     throws MessagingException
Упомяните MimeBodyPart данным ContentID (идентификация вызывающего абонента). Нуль возвратов, если часть не находится.

Параметры:
CID - ContentID требуемой части
Возвраты:
Часть
Броски:
MessagingException

removeBodyPart

public boolean removeBodyPart(BodyPart part)
                       throws MessagingException
Удалите указанную часть из многослойного сообщения. Сдвиги все части после удаленной части вниз один.

Переопределения:
removeBodyPart в class Multipart
Параметры:
part - Часть, чтобы удалить
Возвраты:
истина, если удаленная часть, ложь иначе
Броски:
MessagingException - если никакая такая Часть не существует
IllegalWriteException - если базовая реализация не поддерживает модификацию существующих значений

removeBodyPart

public void removeBodyPart(int index)
                    throws MessagingException
Удалите часть в указанном расположении (запускающийся от 0). Сдвиги все части после удаленной части вниз один.

Переопределения:
removeBodyPart в class Multipart
Параметры:
index - Индексируйте части, чтобы удалить
Броски:
MessagingException
java.lang.IndexOutOfBoundsException - если данные индексируют, испытывает недостаток диапазона.
IllegalWriteException - если базовая реализация не поддерживает модификацию существующих значений

addBodyPart

public void addBodyPart(BodyPart part)
                 throws MessagingException
Добавляет Часть к многослойному. BodyPart добавляется к списку существующих Частей.

Переопределения:
addBodyPart в class Multipart
Параметры:
part - Часть, которая будет добавлена
Броски:
MessagingException
IllegalWriteException - если базовая реализация не поддерживает модификацию существующих значений

addBodyPart

public void addBodyPart(BodyPart part,
                        int index)
                 throws MessagingException
Добавляет BodyPart в позиции index. Если index не последний в списке, последующие части смещаются. Если index больше чем число существующих частей, BodyPart добавляется до конца.

Переопределения:
addBodyPart в class Multipart
Параметры:
part - BodyPart, который будет вставлен
index - Расположение, где вставить часть
Броски:
MessagingException
IllegalWriteException - если базовая реализация не поддерживает модификацию существующих значений

isComplete

public boolean isComplete()
                   throws MessagingException
Возвратите true, если заключительная граница для этого многослойного была замечена. Анализируя многослойный контент, этот class (по умолчанию) завершит парсинг без ошибки, если конец ввода будет достигнут прежде, чем видеть заключительную многослойную границу. В таком случае этот метод возвратит false. (Если свойство System "mail.mime.multipart.ignoremissingendboundary" будет установлено в ложь, то анализируя такое сообщение вместо этого бросит MessagingException.)

Возвраты:
истина, если заключительная граница была замечена
Броски:
MessagingException
С тех пор:
JavaMail 1.4

getPreamble

public java.lang.String getPreamble()
                             throws MessagingException
Получите текст преамбулы, если таковые вообще имеются, который появляется перед первой частью тела этого многослойного. Некоторые протоколы, такие как IMAP, не будут предоставлять доступ к тексту преамбулы.

Возвраты:
текст преамбулы, или нуль, если никакая преамбула
Броски:
MessagingException
С тех пор:
JavaMail 1.4

setPreamble

public void setPreamble(java.lang.String preamble)
                 throws MessagingException
Установите текст преамбулы, который будет включен перед первой частью тела. Приложения не должны обычно включать текст преамбулы. В некоторых случаях может быть полезно включать текст преамбулы с инструкциями для пользователей программного обеспечения перед MIME. Текст преамбулы должен быть полными строками, включая новые строки.

Параметры:
preamble - текст преамбулы
Броски:
MessagingException
С тех пор:
JavaMail 1.4

updateHeaders

protected void updateHeaders()
                      throws MessagingException
Заголовки обновления. Реализация по умолчанию здесь только вызывает updateHeaders метод на каждом из его дочерних элементов Бодипартса.

Отметьте, что граничный параметр уже устанавливается, когда новый и пустой объект MimeMultipart создается.

Этот метод вызывают когда saveChanges метод вызывается на объект сообщения, содержащий это Многослойное. Это обычно делается, поскольку часть сообщения отправляет процесс, однако отметьте, что клиент свободен вызвать это любое число раз. Так, если процесс обновления заголовка дорог для определенного подкласса MimeMultipart, то он мог бы самостоятельно хотеть отследить, изменялось ли его внутреннее состояние фактически, и делало обновление заголовка только если необходимый.

Броски:
MessagingException

writeTo

public void writeTo(java.io.OutputStream os)
             throws java.io.IOException,
                    MessagingException
Выполняет итерации через все части и выводы каждой части MIME, разделенной границей.

Определенный:
writeTo в class Multipart
Броски:
java.io.IOException - если IO связанное исключение происходит
MessagingException

синтаксический анализ

protected void parse()
              throws MessagingException
Проанализируйте InputStream от нашего DataSource, создавая соответствующий MimeBodyParts. parsed флаг устанавливается в истину, и если истина на записи ничто не делается. Этот метод вызывают все другие методы, которые нуждаются в данных для частей тела, чтобы удостовериться, что данные были проанализированы.

Броски:
MessagingException
С тех пор:
JavaMail 1.2

createInternetHeaders

protected InternetHeaders createInternetHeaders(java.io.InputStream is)
                                         throws MessagingException
Создайте и возвратитесь, InternetHeaders возражают, что загружает заголовки из данного InputStream. Подклассы могут переопределить этот метод, чтобы возвратить подкласс InternetHeaders в случае необходимости. Эта реализация просто создает и возвращает объект InternetHeaders.

Параметры:
is - InputStream, чтобы считать заголовки из
Броски:
MessagingException
С тех пор:
JavaMail 1.2

createMimeBodyPart

protected MimeBodyPart createMimeBodyPart(InternetHeaders headers,
                                          byte[] content)
                                   throws MessagingException
Создайте и возвратите объект MimeBodyPart представить часть тела, проанализированную от InputStream. Подклассы могут переопределить этот метод, чтобы возвратить подкласс MimeBodyPart в случае необходимости. Эта реализация просто создает и возвращает объект MimeBodyPart.

Параметры:
headers - заголовки для части тела
content - контент части тела
Броски:
MessagingException
С тех пор:
JavaMail 1.2

createMimeBodyPart

protected MimeBodyPart createMimeBodyPart(java.io.InputStream is)
                                   throws MessagingException
Создайте и возвратите объект MimeBodyPart представить часть тела, проанализированную от InputStream. Подклассы могут переопределить этот метод, чтобы возвратить подкласс MimeBodyPart в случае необходимости. Эта реализация просто создает и возвращает объект MimeBodyPart.

Параметры:
is - InputStream, содержащий часть тела
Броски:
MessagingException
С тех пор:
JavaMail 1.2


Представьте ошибку или функцию

Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.

Сгенерированный на 10-February-2011 12:41

free hit counter