public abstract class AttachmentPart extends ObjectSE
SOAPMessage オブジェクトへの単一のアタッチメント。SOAPMessage オブジェクトには、0 個、1 個、多数の AttachmentPart オブジェクトが含まれる場合があります。各 AttachmentPart オブジェクトは、アプリケーション固有のコンテンツと関連する MIME ヘッダーの 2 つの部分で構成されています。MIME ヘッダーは、コンテンツの識別と説明に使用できる名前と値のペアで構成されています。AttachmentPart オブジェクトは、特定の標準に準拠している必要があります。
Content-TypeAttachmentPart オブジェクトのコンテンツ内のデータの型を識別し、[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, waitSEpublic abstract int getSize()
throws SOAPExceptionAttachmentPart オブジェクトのバイト数を返します。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 SOAPExceptionAttachmentPart オブジェクトの内容を、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 SOAPExceptionbyte[] 配列 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.