public abstract class AttachmentPart extends Object
SOAPMessage
объект. A SOAPMessage
объект может содержать нуль, один, или многие AttachmentPart
объекты. Каждый AttachmentPart
объект состоит из двух частей, специализированного контента и связанных заголовков MIME. Заголовки MIME состоят из пар имя/значение, которые могут использоваться, чтобы идентифицировать и описать контент. AttachmentPart
объект должен соответствовать определенным стандартам.
Content-Type
AttachmentPart
возразите и ДОЛЖЕН соответствовать [RFC2045]. Следующее является примером заголовка Типа контента: Content-Type: application/xmlСледующая строка та, кода, в который
ap
AttachmentPart
объект, устанавливает заголовок, показанный в предыдущем примере. ap.setMimeHeader("Content-Type", "application/xml");
Нет никаких ограничений на часть контента AttachmentPart
объект. Контент может быть чем-либо от простого объекта простого текста до сложного XML-документа или файла изображения.
AttachmentPart
объект создается с методом SOAPMessage.createAttachmentPart
. После установки его заголовков MIME, AttachmentPart
объект добавляется к сообщению, которое создало его с методом SOAPMessage.addAttachmentPart
.
Следующий фрагмент тот кода, в который m
a SOAPMessage
объект и contentStringl
a String
, создает экземпляр AttachmentPart
, наборы AttachmentPart
объект с некоторым контентом и информацией о заголовке, и добавляет AttachmentPart
возразите против SOAPMessage
объект.
AttachmentPart ap1 = m.createAttachmentPart(); ap1.setContent(contentString1, "text/plain"); m.addAttachmentPart(ap1);
Следующий фрагмент кода создает и добавляет секунду AttachmentPart
экземпляр к тому же самому сообщению. jpegData
двоичный буфер байта представление jpeg файла.
AttachmentPart ap2 = m.createAttachmentPart(); byte[] jpegData = ...; ap2.setContent(new ByteArrayInputStream(jpegData), "image/jpeg"); m.addAttachmentPart(ap2);
getContent
метод получает содержание и заголовок от AttachmentPart
объект. В зависимости от DataContentHandler
существующие объекты, возвращенный Object
может или быть введенное соответствие объекта Java типу MIME или InputStream
объект, который содержит контент как байты.
String content1 = ap1.getContent(); java.io.InputStream content2 = ap2.getContent();Метод
clearContent
удаляет весь контент из AttachmentPart
возразите, но не влияйте на его информацию о заголовке. ap1.clearContent();
Конструктор и Описание |
---|
AttachmentPart() |
Модификатор и Тип | Метод и Описание |
---|---|
abstract void |
addMimeHeader(String name, String value)
Добавляет заголовок MIME с указанным именем и значением к этому
AttachmentPart объект. |
abstract void |
clearContent()
Убирает контент этого
AttachmentPart объект. |
abstract Iterator |
getAllMimeHeaders()
Получает все заголовки для этого
AttachmentPart возразите как iterator по MimeHeader объекты. |
abstract InputStream |
getBase64Content()
Возвраты
InputStream который может использоваться, чтобы получить контент AttachmentPart как Base64 закодированные символьные данные, этот метод был бы base64 кодировать необработанные байты присоединения и возврата. |
abstract Object |
getContent()
Получает контент этого
AttachmentPart возразите как объект Java. |
Строка |
getContentId()
Получает значение заголовка MIME, именем которого является "ID контента".
|
Строка |
getContentLocation()
Получает значение заголовка MIME, именем которого является "Расположение контента".
|
Строка |
getContentType()
Получает значение заголовка MIME, именем которого является "Тип контента".
|
abstract DataHandler |
getDataHandler()
Добирается
DataHandler объект для этого AttachmentPart объект. |
abstract Iterator |
getMatchingMimeHeaders(String[] names)
Получает все
MimeHeader объекты, которые соответствуют имя в данном массиве. |
abstract String[] |
getMimeHeader(String name)
Получает все значения заголовка, идентифицированного данным
String . |
abstract Iterator |
getNonMatchingMimeHeaders(String[] names)
Получает все
MimeHeader объекты, имя которых не соответствует имя в данном массиве. |
abstract InputStream |
getRawContent()
Получает контент этого
AttachmentPart возразите как InputStream, как будто вызов был выполнен к getContent и нет DataContentHandler был зарегистрирован для content-type из этого AttachmentPart . |
abstract byte[] |
getRawContentBytes()
Получает контент этого
AttachmentPart возразите как байт [] массив, как будто вызов был выполнен к getContent и нет DataContentHandler был зарегистрирован для content-type из этого AttachmentPart . |
abstract int |
getSize()
Возвращает число байтов в этом
AttachmentPart объект. |
abstract void |
removeAllMimeHeaders()
Удаляет все записи заголовка MIME.
|
abstract void |
removeMimeHeader(String header)
Удаляет все заголовки MIME, которые соответствуют имя.
|
abstract void |
setBase64Content(InputStream content, String contentType)
Устанавливает контент этой присоединяемой части из источника Base64
InputStream и устанавливает значение Content-Type заголовок к значению, содержавшемуся в contentType , Этот метод сначала декодировал бы ввод base64 и записал бы получающиеся необработанные байты в присоединение. |
abstract void |
setContent(Object object, String contentType)
Устанавливает контент этой присоединяемой части к тому из данных
Object и устанавливает значение Content-Type заголовок к данному типу. |
void |
setContentId(String contentId)
Устанавливает заголовок MIME, именем которого является "ID контента" с данным значением.
|
void |
setContentLocation(String contentLocation)
Устанавливает заголовок MIME, именем которого является "Расположение контента" с данным значением.
|
void |
setContentType(String contentType)
Устанавливает заголовок MIME, именем которого является "Тип контента" с данным значением.
|
abstract void |
setDataHandler(DataHandler dataHandler)
Устанавливает данный
DataHandler возразите как обработчик данных для этого AttachmentPart объект. |
abstract void |
setMimeHeader(String name, String value)
Изменяет первую запись заголовка, которая соответствует имя к данному значению, добавляя новый заголовок, если никакой существующий заголовок не соответствует.
|
abstract void |
setRawContent(InputStream content, String contentType)
Устанавливает контент этой присоединяемой части к содержавшему
InputStream content и устанавливает значение Content-Type заголовок к значению, содержавшемуся в contentType . |
abstract void |
setRawContentBytes(byte[] content, int offset, int len, String contentType)
Устанавливает контент этой присоединяемой части к содержавшему
byte[] массив content и устанавливает значение Content-Type заголовок к значению, содержавшемуся в contentType . |
public abstract int getSize() throws SOAPException
AttachmentPart
объект.AttachmentPart
объект в байтах или-1, если размер не может быть определенSOAPException
- если контент этого присоединения повреждается, того, если было исключение, пытаясь определить размер.public abstract void clearContent()
AttachmentPart
объект. Часть заголовка MIME оставляют нетронутой.public abstract Object getContent() throws SOAPException
AttachmentPart
возразите как объект Java. Тип возвращенного объекта Java зависит от (1) DataContentHandler
объект, который используется, чтобы интерпретировать байты и (2) Content-Type
данный в заголовке. Для типов контента MIME "текст/плоскость", "текст/HTML" и "text/xml", DataContentHandler
объект делает преобразования в и от типов Java, соответствующих типам MIME. Для других типов MIME, DataContentHandler
объект может возвратиться InputStream
объект, который содержит данные контента как необработанные байты.
SAAJ-совместимая реализация, как минимум, должна возвратить a java.lang.String
объект, соответствующий любому потоку контента с a Content-Type
значение text/plain
, a javax.xml.transform.stream.StreamSource
объект, соответствующий потоку контента с a Content-Type
значение text/xml
, a java.awt.Image
объект, соответствующий потоку контента с a Content-Type
значение image/gif
или image/jpeg
. Для тех типов контента, что установленный DataContentHandler
объект не понимает, DataContentHandler
объект обязан возвращать a java.io.InputStream
объект с необработанными байтами.
AttachmentPart
объектSOAPException
- если нет никакого набора контента в это AttachmentPart
возразите или если была ошибка преобразования данныхpublic abstract InputStream getRawContent() throws SOAPException
AttachmentPart
возразите как InputStream, как будто вызов был выполнен к getContent
и нет DataContentHandler
был зарегистрирован для content-type
из этого AttachmentPart
. Отметьте, что чтение из возвращенного InputStream привело бы к потреблению данных в потоке. Это - обязанность вызывающей стороны сбросить InputStream соответственно прежде, чем вызвать Последующий API. Если копия необработанного присоединяемого контента требуется тогда getRawContentBytes()
API должен использоваться вместо этого.
InputStream
от которого необработанные данные, содержавшие AttachmentPart
может быть получен доступ.SOAPException
- если нет никакого набора контента в это AttachmentPart
возразите или если была ошибка преобразования данных.getRawContentBytes()
public abstract byte[] getRawContentBytes() throws SOAPException
AttachmentPart
возразите как байт [] массив, как будто вызов был выполнен к getContent
и нет DataContentHandler
был зарегистрирован для content-type
из этого AttachmentPart
.byte[]
массив, содержащий необработанные данные AttachmentPart
.SOAPException
- если нет никакого набора контента в это AttachmentPart
возразите или если была ошибка преобразования данных.public abstract InputStream getBase64Content() throws SOAPException
InputStream
который может использоваться, чтобы получить контент AttachmentPart
как Base64 закодированные символьные данные, этот метод был бы base64 кодировать необработанные байты присоединения и возврата.InputStream
от которого закодирован Base64 AttachmentPart
может быть считан.SOAPException
- если нет никакого набора контента в это AttachmentPart
возразите или если была ошибка преобразования данных.public abstract void setContent(Object object, String contentType)
Object
и устанавливает значение Content-Type
заголовок к данному типу. Тип Object
должен соответствовать значению, данному для Content-Type
. Это зависит от определенного набора DataContentHandler
объекты в использовании.object
- объект Java, который составляет контент для этой присоединяемой частиcontentType
- строка MIME, которая определяет тип контентаIllegalArgumentException
- может быть брошен, если contentType не соответствует тип объекта контента, или если было нет DataContentHandler
объект для этого объекта контентаgetContent()
public abstract void setRawContent(InputStream content, String contentType) throws SOAPException
InputStream
content
и устанавливает значение Content-Type
заголовок к значению, содержавшемуся в contentType
. Последующий звонок getSize (), возможно, не точная мера размера контента.
content
- необработанные данные, чтобы добавить к присоединяемой частиcontentType
- значение, чтобы установить в Content-Type
заголовокSOAPException
- если есть ошибка в установке контентаNullPointerException
- если content
нульpublic abstract void setRawContentBytes(byte[] content, int offset, int len, String contentType) throws SOAPException
byte[]
массив content
и устанавливает значение Content-Type
заголовок к значению, содержавшемуся в contentType
.content
- необработанные данные, чтобы добавить к присоединяемой частиcontentType
- значение, чтобы установить в Content-Type
заголовокoffset
- смещение в байтовом массиве контентаlen
- число байтов, которые формируют контентSOAPException
- если есть ошибка в установке контента, или контент является нулемpublic abstract void setBase64Content(InputStream content, String contentType) throws SOAPException
InputStream
и устанавливает значение Content-Type
заголовок к значению, содержавшемуся в contentType
, Этот метод сначала декодировал бы ввод base64 и записал бы получающиеся необработанные байты в присоединение. Последующий звонок getSize (), возможно, не точная мера размера контента.
content
- base64 закодированные данные, чтобы добавить к присоединяемой частиcontentType
- значение, чтобы установить в Content-Type
заголовокSOAPException
- если есть ошибка в установке контентаNullPointerException
- если content
нульpublic abstract DataHandler getDataHandler() throws SOAPException
DataHandler
объект для этого AttachmentPart
объект.DataHandler
объект связался с этим AttachmentPart
объектSOAPException
- если нет никаких данных в этом AttachmentPart
объектpublic abstract void setDataHandler(DataHandler dataHandler)
DataHandler
возразите как обработчик данных для этого AttachmentPart
объект. Как правило, на входящем сообщении, обработчик данных автоматически устанавливается. Когда сообщение создается и заполняется с контентом, setDataHandler
метод может использоваться, чтобы получить данные от различных источников данных в сообщение.dataHandler
- DataHandler
объект, который будет установленIllegalArgumentException
- если была проблема с указанным DataHandler
объектpublic String getContentId()
String
предоставление значения заголовка "ID контента" или null
если нет ни одногоsetContentId(java.lang.String)
public String getContentLocation()
String
предоставление значения заголовка "Расположения контента" или null
если нет ни одногоpublic String getContentType()
String
предоставление значения заголовка "Типа контента" или null
если нет ни одногоpublic void setContentId(String contentId)
contentId
- a String
предоставление значения заголовка "ID контента"IllegalArgumentException
- если была проблема с указанным contentId
значениеgetContentId()
public void setContentLocation(String contentLocation)
contentLocation
- a String
предоставление значения заголовка "Расположения контента"IllegalArgumentException
- если была проблема с указанным расположением контентаpublic void setContentType(String contentType)
contentType
- a String
предоставление значения заголовка "Типа контента"IllegalArgumentException
- если была проблема с указанным типом контентаpublic abstract void removeMimeHeader(String header)
header
- имя строки MIME header/s, чтобы быть удаленнымpublic abstract void removeAllMimeHeaders()
public abstract String[] getMimeHeader(String name)
String
.name
- имя заголовка; пример: "Тип контента"String
массив, дающий значение для указанного заголовкаsetMimeHeader(java.lang.String, java.lang.String)
public abstract void setMimeHeader(String name, String value)
Отметьте, что заголовки RFC822 могут только содержать символы US-ASCII.
name
- a String
предоставление имени заголовка, который можно искатьvalue
- a String
предоставление значения, которое будет установлено для заголовка, имя которого соответствует имяIllegalArgumentException
- если была проблема с указанным именем заголовка пантомимы или значениемpublic abstract void addMimeHeader(String name, String value)
AttachmentPart
объект. Отметьте, что заголовки RFC822 могут содержать только символы US-ASCII.
name
- a String
предоставление имени заголовка, который будет добавленvalue
- a String
предоставление значения заголовка, который будет добавленIllegalArgumentException
- если была проблема с указанным именем заголовка пантомимы или значениемpublic abstract Iterator getAllMimeHeaders()
AttachmentPart
возразите как iterator по MimeHeader
объекты.Iterator
объект со всеми заголовками Пантомимы для этого AttachmentPart
объектpublic abstract Iterator getMatchingMimeHeaders(String[] names)
MimeHeader
объекты, которые соответствуют имя в данном массиве.names
- a String
массив с именем (енами) заголовков MIME, которые будут возвращеныIterator
объектpublic abstract Iterator getNonMatchingMimeHeaders(String[] names)
MimeHeader
объекты, имя которых не соответствует имя в данном массиве.names
- a String
массив с именем (енами) заголовков MIME, которые не будут возвращеныAttachmentPart
объект кроме тех, которые соответствуют одно из имен в данном массиве. Несоответствующие заголовки MIME возвращаются как Iterator
объект.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92