public abstract class AttachmentPart extends ObjectSE
SOAPMessage
オブジェクトへの単一のアタッチメント。SOAPMessage
オブジェクトには、0 個、1 個、多数の AttachmentPart
オブジェクトが含まれる場合があります。各 AttachmentPart
オブジェクトは、アプリケーション固有のコンテンツと関連する MIME ヘッダーの 2 つの部分で構成されています。MIME ヘッダーは、コンテンツの識別と説明に使用できる名前と値のペアで構成されています。AttachmentPart
オブジェクトは、特定の標準に準拠している必要があります。
Content-Type
AttachmentPart
オブジェクトのコンテンツ内のデータの型を識別し、[RFC2045] に準拠する必要があります。以下は、Content-Type ヘッダーの例です。Content-Type: application/xml
ap
が AttachmentPart
オブジェクトである次のコード行は、前の例に示したヘッダーを設定します。ap.setMimeHeader("Content-Type", "application/xml");
AttachmentPart
オブジェクトのコンテンツ部分に制限はありません。コンテンツは、単純なプレーンテキストオブジェクトから複雑な XML ドキュメントまたはイメージファイルまで何でもかまいません。
AttachmentPart
オブジェクトは、メソッド SOAPMessage.createAttachmentPart
を使用して作成されます。MIME ヘッダーを設定した後、AttachmentPart
オブジェクトは、メソッド SOAPMessage.addAttachmentPart
を使用して作成したメッセージに追加されます。
次のコードフラグメントは、m
が SOAPMessage
オブジェクトであり、contentStringl
が String
であり、AttachmentPart
のインスタンスを作成し、いくつかのコンテンツとヘッダー情報を含む AttachmentPart
オブジェクトを設定し、AttachmentPart
オブジェクトを SOAPMessage
オブジェクトに追加します。
AttachmentPart ap1 = m.createAttachmentPart(); ap1.setContent(contentString1, "text/plain"); m.addAttachmentPart(ap1);
次のコードフラグメントは、2 番目の AttachmentPart
インスタンスを作成し、同じメッセージに追加します。jpegData
は、jpeg ファイルを表すバイナリバイトバッファです。
AttachmentPart ap2 = m.createAttachmentPart(); byte[] jpegData = ...; ap2.setContent(new ByteArrayInputStream(jpegData), "image/jpeg"); m.addAttachmentPart(ap2);
getContent
メソッドは、AttachmentPart
オブジェクトからコンテンツとヘッダーを取得します。存在する DataContentHandler
オブジェクトに応じて、返される Object
は、MIME 型に対応する型付き Java オブジェクト、またはコンテンツをバイトとして含む InputStream
オブジェクトのいずれかになります。
String content1 = ap1.getContent(); java.io.InputStream content2 = ap2.getContent();メソッド
clearContent
は、AttachmentPart
オブジェクトからすべてのコンテンツを削除しますが、そのヘッダー情報には影響しません。ap1.clearContent();
コンストラクターと説明 |
---|
AttachmentPart() |
修飾子と型 | メソッドと説明 |
---|---|
abstract void | addMimeHeader(StringSE name, StringSE value) 指定された名前と値の MIME ヘッダーをこの AttachmentPart オブジェクトに追加します。 |
abstract void | clearContent() この AttachmentPart オブジェクトのコンテンツをクリアします。 |
abstract IteratorSE<MimeHeader> | getAllMimeHeaders() この AttachmentPart オブジェクトのすべてのヘッダーを、MimeHeader オブジェクトのイテレーターとして取得します。 |
abstract InputStreamSE | getBase64Content() AttachmentPart のコンテンツを Base64 でエンコードされた文字データとして取得するために使用できる InputStream を返します。このメソッドは、添付ファイルの生のバイトを base64 でエンコードして返します。 |
abstract ObjectSE | getContent() この AttachmentPart オブジェクトの内容を Java オブジェクトとして取得します。 |
StringSE | getContentId() 名前が "Content-ID" である MIME ヘッダーの値を取得します。 |
StringSE | getContentLocation() 名前が "Content-Location" である MIME ヘッダーの値を取得します。 |
StringSE | getContentType() 名前が "Content-Type" である MIME ヘッダーの値を取得します。 |
abstract DataHandler | getDataHandler() この AttachmentPart オブジェクトの DataHandler オブジェクトを取得します。 |
abstract IteratorSE<MimeHeader> | getMatchingMimeHeaders(StringSE[] names) 指定された配列の名前に一致するすべての MimeHeader オブジェクトを取得します。 |
abstract StringSE[] | getMimeHeader(StringSE name) 指定された String によって識別されるヘッダーのすべての値を取得します。 |
abstract IteratorSE<MimeHeader> | getNonMatchingMimeHeaders(StringSE[] names) 指定された配列の名前と名前が一致しないすべての MimeHeader オブジェクトを取得します。 |
abstract InputStreamSE | getRawContent() この AttachmentPart オブジェクトのコンテンツを InputStream として取得します。あたかも getContent が呼び出され、この AttachmentPart の content-type に DataContentHandler が登録されていないかのようにします。 |
abstract byte[] | getRawContentBytes() この AttachmentPart オブジェクトの内容を、getContent が呼び出され、この AttachmentPart の content-type に DataContentHandler が登録されていないかのように、byte[] 配列として取得します。 |
abstract int | getSize() この AttachmentPart オブジェクトのバイト数を返します。 |
abstract void | removeAllMimeHeaders() すべての MIME ヘッダーエントリを削除します。 |
abstract void | removeMimeHeader(StringSE header) 指定された名前に一致するすべての MIME ヘッダーを削除します。 |
abstract void | setBase64Content(InputStreamSE content, StringSE contentType) Base64 ソース InputStream からこの添付ファイルパーツのコンテンツを設定し、Content-Type ヘッダーの値を contentType に含まれる値に設定します。このメソッドは、最初に base64 入力をデコードし、結果の生バイトを添付ファイルに書き込みます。 |
abstract void | setContent(ObjectSE object, StringSE contentType) このアタッチメントパーツのコンテンツを指定された Object のコンテンツに設定し、Content-Type ヘッダーの値を指定された型に設定します。 |
void | setContentId(StringSE contentId) 名前が "Content-ID" である MIME ヘッダーを指定された値で設定します。 |
void | setContentLocation(StringSE contentLocation) 名前が "Content-Location" である MIME ヘッダーを指定された値で設定します。 |
void | setContentType(StringSE contentType) 名前が "Content-Type" である MIME ヘッダーを指定された値で設定します。 |
abstract void | setDataHandler(DataHandler dataHandler) 指定された DataHandler オブジェクトをこの AttachmentPart オブジェクトのデータハンドラーとして設定します。 |
abstract void | setMimeHeader(StringSE name, StringSE value) 指定された名前に一致する最初のヘッダーエントリを指定された値に変更し、既存のヘッダーが一致しない場合は新しいヘッダーを追加します。 |
abstract void | setRawContent(InputStreamSE content, StringSE contentType) この添付部分の内容を InputStream content に含まれるものに設定し、Content-Type ヘッダーの値を contentType に含まれる値に設定します。 |
abstract void | setRawContentBytes(byte[] content, int offset, int len, StringSE contentType) この添付部分の内容を byte[] 配列 content に含まれるものに設定し、Content-Type ヘッダーの値を contentType に含まれる値に設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public abstract int getSize() throws SOAPException
AttachmentPart
オブジェクトのバイト数を返します。AttachmentPart
オブジェクトのサイズ(バイト単位)またはサイズを判別できない場合は -1SOAPException
- この添付ファイルのコンテンツが破損している場合、またはサイズを決定しようとしたときに例外が発生した場合。public abstract void clearContent()
AttachmentPart
オブジェクトのコンテンツをクリアします。MIME ヘッダー部分は変更されません。public abstract ObjectSE getContent() throws SOAPException
AttachmentPart
オブジェクトのコンテンツを Java オブジェクトとして取得します。返される Java オブジェクトの型は、(1) バイトの解釈に使用される DataContentHandler
オブジェクト、および (2) ヘッダーで指定された Content-Type
によって異なります。MIME コンテンツ型 "text/plain","text/html"、および "text/xml" の場合、DataContentHandler
オブジェクトは、MIME 型に対応する Java 型との間の変換を実行します。他の MIME 型の場合、DataContentHandler
オブジェクトは、コンテンツデータを生のバイトとして含む InputStream
オブジェクトを返すことができます。
SAAJ 準拠の実装は、少なくとも、Content-Type
値が text/plain
のコンテンツストリームに対応する java.lang.String
オブジェクト、Content-Type
値が text/xml
のコンテンツストリームに対応する javax.xml.transform.stream.StreamSource
オブジェクト、コンテンツストリームに対応する java.awt.Image
オブジェクトを返す必要があります。Content-Type
値が image/gif
または image/jpeg
の場合。インストールされた DataContentHandler
オブジェクトが理解できないコンテンツ型の場合、DataContentHandler
オブジェクトは、raw バイトを含む java.io.InputStream
オブジェクトを返す必要があります。
AttachmentPart
オブジェクトのコンテンツを含む Java オブジェクト SOAPException
- この AttachmentPart
オブジェクトにコンテンツが設定されていない場合、またはデータ変換エラーが発生した場合 public abstract InputStreamSE getRawContent() throws SOAPException
AttachmentPart
オブジェクトのコンテンツを InputStream として取得します。あたかも getContent
が呼び出され、この AttachmentPart
の content-type
に DataContentHandler
が登録されていないかのようにします。 返された InputStream から読み取ると、ストリーム内のデータが消費されることに注意してください。後続の API を呼び出す前に、InputStream を適切にリセットするのは呼び出し側の責任です。未加工の添付コンテンツのコピーが必要な場合は、代わりに getRawContentBytes()
API を使用する必要があります。
AttachmentPart
に含まれる生データにアクセスできる InputStream
。SOAPException
- この AttachmentPart
オブジェクトにコンテンツが設定されていない場合、またはデータ変換エラーが発生した場合。getRawContentBytes()
public abstract byte[] getRawContentBytes() throws SOAPException
AttachmentPart
オブジェクトの内容を、getContent
が呼び出され、この AttachmentPart
の content-type
に DataContentHandler
が登録されていないかのように、byte[] 配列として取得します。AttachmentPart
の生データを含む byte[]
配列。SOAPException
- この AttachmentPart
オブジェクトにコンテンツが設定されていない場合、またはデータ変換エラーが発生した場合。public abstract InputStreamSE getBase64Content() throws SOAPException
AttachmentPart
のコンテンツを Base64 でエンコードされた文字データとして取得するために使用できる InputStream
を返します。このメソッドは、添付ファイルの生のバイトを base64 でエンコードして返します。AttachmentPart
を読み取ることができる InputStream
。SOAPException
- この AttachmentPart
オブジェクトにコンテンツが設定されていない場合、またはデータ変換エラーが発生した場合。public abstract void setContent(ObjectSE object, StringSE contentType)
Object
のコンテンツに設定し、Content-Type
ヘッダーの値を指定された型に設定します。Object
の型は、Content-Type
に指定された値に対応している必要があります。これは、使用中の DataContentHandler
オブジェクトの特定のセットによって異なります。object
- この添付ファイル部分のコンテンツを構成する Java オブジェクト contentType
- コンテンツの型を指定する MIME 文字列 IllegalArgumentExceptionSE
- contentType がコンテンツオブジェクトの型と一致しない場合、またはこのコンテンツオブジェクトに DataContentHandler
オブジェクトがない場合にスローされる可能性があります。getContent()
public abstract void setRawContent(InputStreamSE content, StringSE contentType) throws SOAPException
InputStream
content
に含まれるものに設定し、Content-Type
ヘッダーの値を contentType
に含まれる値に設定します。その後の getSize() の呼び出しは、コンテンツサイズの正確な測定値ではない場合があります。
content
- アタッチメントパーツに追加する生データ contentType
- Content-Type
ヘッダーに設定する値 SOAPException
- コンテンツの設定にエラーがある場合 NullPointerExceptionSE
- content
が null の場合 public abstract void setRawContentBytes(byte[] content, int offset, int len, StringSE contentType) throws SOAPException
byte[]
配列 content
に含まれるものに設定し、Content-Type
ヘッダーの値を contentType
に含まれる値に設定します。content
- アタッチメントパーツに追加する生データ contentType
- Content-Type
ヘッダーに設定する値 offset
- コンテンツのバイト配列のオフセット len
- コンテンツを形成するバイト数 SOAPException
- コンテンツの設定にエラーがある場合、またはコンテンツが null の場合 public abstract void setBase64Content(InputStreamSE content, StringSE contentType) throws SOAPException
InputStream
からこの添付ファイルパーツのコンテンツを設定し、Content-Type
ヘッダーの値を contentType
に含まれる値に設定します。このメソッドは、最初に base64 入力をデコードし、結果の生バイトを添付ファイルに書き込みます。その後の getSize() の呼び出しは、コンテンツサイズの正確な測定値ではない場合があります。
content
- 添付ファイル部分に追加する base64 でエンコードされたデータ contentType
- Content-Type
ヘッダーに設定する値 SOAPException
- コンテンツの設定にエラーがある場合 NullPointerExceptionSE
- content
が null の場合 public abstract DataHandler getDataHandler() throws SOAPException
AttachmentPart
オブジェクトの DataHandler
オブジェクトを取得します。AttachmentPart
オブジェクトに関連付けられている DataHandler
オブジェクト SOAPException
- この AttachmentPart
オブジェクトにデータがない場合 public abstract void setDataHandler(DataHandler dataHandler)
DataHandler
オブジェクトをこの AttachmentPart
オブジェクトのデータハンドラーとして設定します。通常、受信メッセージでは、データハンドラーが自動的に設定されます。メッセージが作成され、コンテンツが入力されている場合、setDataHandler
メソッドを使用して、さまざまなデータソースからメッセージにデータを取り込むことができます。dataHandler
- 設定する DataHandler
オブジェクト IllegalArgumentExceptionSE
- 指定された DataHandler
オブジェクトに問題があった場合 public StringSE getContentId()
String
、または存在しない場合は null
setContentId(java.lang.String)
public StringSE getContentLocation()
String
、または存在しない場合は null
public StringSE getContentType()
String
、または存在しない場合は null
public void setContentId(StringSE contentId)
contentId
- "Content-ID" ヘッダーの値を提供する String
IllegalArgumentExceptionSE
- 指定された contentId
値に問題があった場合 getContentId()
public void setContentLocation(StringSE contentLocation)
contentLocation
- "Content-Location" ヘッダーの値を提供する String
IllegalArgumentExceptionSE
- 指定されたコンテンツの場所に問題があった場合 public void setContentType(StringSE contentType)
contentType
- "Content-Type" ヘッダーの値を与える String
IllegalArgumentExceptionSE
- 指定されたコンテンツ型に問題があった場合 public abstract void removeMimeHeader(StringSE header)
header
- 削除する MIME ヘッダーの文字列名 public abstract void removeAllMimeHeaders()
public abstract StringSE[] getMimeHeader(StringSE name)
String
によって識別されるヘッダーのすべての値を取得します。name
- ヘッダーの名前。例: 「コンテンツ型」String
配列 setMimeHeader(java.lang.String, java.lang.String)
public abstract void setMimeHeader(StringSE name, StringSE value)
RFC822 ヘッダーには、US-ASCII 文字のみを含めることができることに注意してください。
name
- 検索するヘッダーの名前を示す String
value
- 名前が指定された名前と一致するヘッダーに設定される値を与える String
IllegalArgumentExceptionSE
- 指定された mime ヘッダーの名前または値に問題があった場合 public abstract void addMimeHeader(StringSE name, StringSE value)
AttachmentPart
オブジェクトに追加します。RFC822 ヘッダーには、US-ASCII 文字のみを含めることができることに注意してください。
name
- 追加するヘッダーの名前を示す String
value
- 追加するヘッダーの値を示す String
IllegalArgumentExceptionSE
- 指定された mime ヘッダーの名前または値に問題があった場合 public abstract IteratorSE<MimeHeader> getAllMimeHeaders()
AttachmentPart
オブジェクトのすべてのヘッダーを、MimeHeader
オブジェクトのイテレーターとして取得します。AttachmentPart
オブジェクトのすべての Mime ヘッダーを含む Iterator
オブジェクト public abstract IteratorSE<MimeHeader> getMatchingMimeHeaders(StringSE[] names)
MimeHeader
オブジェクトを取得します。names
- 返される MIME ヘッダーの名前を持つ String
配列 Iterator
オブジェクトとして一致するすべての MIME ヘッダー public abstract IteratorSE<MimeHeader> getNonMatchingMimeHeaders(StringSE[] names)
MimeHeader
オブジェクトを取得します。names
- 返されない MIME ヘッダーの名前を持つ String
配列 AttachmentPart
オブジェクト内のすべての MIME ヘッダー。一致しない MIME ヘッダーは、Iterator
オブジェクトとして返されます。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.