7.8.2 BytesContainerインタフェース

BytesContainerインタフェースはバイト配列を含むメッセージを送受信するために使用します。Cosminexus RM同士だけでなく,WS-Reliability1.1に準拠する他システムとデータをやり取りする際に使用できます。

<この項の構成>
(1) BytesContainerインタフェースの仕様
(2) BytesContainerインタフェースのデータ型
(3) バイト配列数の取得
(4) 保持する全データの消去
(5) 形式
(6) フィールド
(7) メソッド

(1) BytesContainerインタフェースの仕様

BytesContainerインタフェースは,バイト配列およびバイト配列のデータ型を示す値の組を1個だけ含むインタフェースです。

BytesContainerインタフェースは,次の二つの要素で構成されます。

BytesContainerインタフェースの構成を次の図に示します。

図7-7 BytesContainerインタフェースの構成

[図データ]

(2) BytesContainerインタフェースのデータ型

BytesContainerインタフェースに含まれるバイト配列のデータ型の一覧を次の表に示します。

表7-6 バイト配列のデータ型一覧

項番データ型の種類バイト配列のデータ型の内容
1HTML型拡張子がhtml,htmのファイルの内容をバイト配列化したデータ
2TEXT型拡張子がtxt,textのファイルの内容をバイト配列化したデータ
3IEF型拡張子がiefのファイルの内容をバイト配列化したデータ
4TIFF型拡張子がtiff, tifのファイルの内容をバイト配列化したデータ
5XWD型拡張子がxwdのファイルの内容をバイト配列化したデータ
6POSTSCRIPT型拡張子がai, eps, psのファイルの内容をバイト配列化したデータ
7RTF型拡張子がrtfのファイルの内容をバイト配列化したデータ
8TEX型拡張子がtexのファイルの内容をバイト配列化したデータ
9TEXINFO型拡張子がtexinfo,texiのファイルの内容をバイト配列化したデータ
10ROFF型拡張子がt,tr,roffのファイルの内容をバイト配列化したデータ
11AU型拡張子がauのファイルの内容をバイト配列化したデータ
12MIDI型拡張子がmidi,midのファイルの内容をバイト配列化したデータ
13AIFC型拡張子がaifcのファイルの内容をバイト配列化したデータ
14AIF型拡張子がaif,aiffのファイルの内容をバイト配列化したデータ
15WAV型拡張子がwavのファイルの内容をバイト配列化したデータ
16MPEG型拡張子がmpeg,mpg,mpeのファイルの内容をバイト配列化したデータ
17QT型拡張子がqt,movのファイルの内容をバイト配列化したデータ
18AVI型拡張子がaviのファイルの内容をバイト配列化したデータ
19上に示す以外の型上に示す以外の内容をバイト配列化したデータ
注※
データ型がTEXT型の場合,文字コード(charset)をUTF-8に指定して転送します。

(3) バイト配列数の取得

BytesContainerインタフェースが保持するバイト配列の数を取得する機能を提供します。

(4) 保持する全データの消去

BytesContainerインタフェースが保持するデータ(バイト配列およびバイト配列のデータ型)をすべて消去する機能を提供します。

(5) 形式

public interface BytesContainer
{
 public static final String TEXT_HTML;
 public static final String TEXT_PLAIN;
 public static final String IMAGE_IEF;
 public static final String IMAGE_TIFF;
 public static final String IMAGE_X_XWINDOWDUMP;
 public static final String APPLICATION_POSTSCRIPT;
 public static final String APPLICATION_RTF;
 public static final String APPLICATION_X_TEX;
 public static final String APPLICATION_X_TEXINFO;
 public static final String APPLICATION_X_TROFF;
 public static final String AUDIO_BASIC;
 public static final String AUDIO_MIDI;
 public static final String AUDIO_X_AIFC;
 public static final String AUDIO_X_AIFF;
 public static final String AUDIO_X_WAV;
 public static final String VIDEO_MPEG ;
 public static final String VIDEO_QUICKTIME;
 public static final String VIDEO_X_MSVIDEO;
 public static final String APPLICATION_OCTET_STREAM;

 public void addPayload(byte[] payload) throws HRMException;
 public void addPayload(byte[] payload, String contentType) throws HRMException;
 public int size();
 public byte[] getPayload(int number) throws HRMException;
 public String getContentType(int number) throws HRMException;
 public void clear();
}

(6) フィールド

「(5) 形式」に記載した順序で各フィールドを説明します。

(a) TEXT_HTMLフィールド

public static final String TEXT_HTML

バイト配列のデータがHTML型であることを示す値です。

(b) TEXT_PLAINフィールド

public static final String TEXT_PLAIN

バイト配列のデータがTEXT型であることを示す値です。

(c)  IMAGE_IEFフィールド

public static final String IMAGE_IEF

バイト配列のデータがIEF型であることを示す値です。

(d)  IMAGE_TIFFフィールド

public static final String IMAGE_TIFF

バイト配列のデータがTIFF型であることを示す値です。

(e)  IMAGE_X_XWINDOWDUMPフィールド

public static final String IMAGE_X_XWINDOWDUMP

バイト配列のデータがXWD型であることを示す値です。

(f)  APPLICATION_POSTSCRIPTフィールド

public static final String APPLICATION_POSTSCRIPT

バイト配列のデータがPOSTSCRIPT型であることを示す値です。

(g) APPLICATION_RTFフィールド

public static final String APPLICATION_RTF

バイト配列のデータがRTF型であることを示す値です。

(h) APPLICATION_X_TEXフィールド

public static final String APPLICATION_X_TEX

バイト配列のデータがTEX型であることを示す値です。

(i)  APPLICATION_X_TEXINFOフィールド

public static final String APPLICATION_X_TEXINFO

バイト配列のデータがTEXINFO型であることを示す値です。

(j) APPLICATION_X_TROFFフィールド

public static final String APPLICATION_X_TROFF

バイト配列のデータがROFF型であることを示す値です。

(k)  AUDIO_BASICフィールド

public static final String AUDIO_BASIC

バイト配列のデータがAU型であることを示す値です。

(l) AUDIO_MIDIフィールド

public static final String AUDIO_MIDI

バイト配列のデータがMIDI型であることを示す値です。

(m)  AUDIO_X_AIFCフィールド

public static final String AUDIO_X_AIFC

バイト配列のデータがAIFC型であることを示す値です。

(n)  AUDIO_X_AIFFフィールド

public static final String AUDIO_X_AIFF

バイト配列のデータがAIF型であることを示す値です。

(o)  AUDIO_X_WAVフィールド

public static final String AUDIO_X_WAV

バイト配列のデータがWAV型であることを示す値です。

(p) VIDEO_MPEGフィールド

public static final String VIDEO_MPEG

バイト配列のデータがMPEG型であることを示す値です。

(q)  VIDEO_QUICKTIMEフィールド

public static final String VIDEO_QUICKTIME

バイト配列のデータがQT型であることを示す値です。

(r) VIDEO_X_MSVIDEOフィールド

public static final String VIDEO_X_MSVIDEO

バイト配列のデータがAVI型であることを示す値です。

(s)  APPLICATION_OCTET_STREAMフィールド

public static final String APPLICATION_OCTET_STREAM

バイト配列のデータが,ほかのフィールドで示したデータ型以外であることを示す値です。

(7) メソッド

「(5) 形式」に記載した順序で各メソッドを説明します。

(a) addPayloadメソッド

public void addPayload(byte[] payload) throws HRMException

メッセージのデータを含むbyte[]を設定します。payloadのデータ型を示す値はAPPLICATION_OCTET_STREAMになります。

BytesContainerに設定できるバイト配列の制限数は1です。

(b) addPayloadメソッド

public void addPayload(byte[] payload, String contentType) throws HRMException

メッセージのデータを含むbyte[]を設定します。

BytesContainerに設定できるバイト配列の制限数は1です。

引数contentTypeにTEXT_PLAINを指定した場合,引数payloadに指定する値は,UTF-8の文字コードの値として扱います。文字コードがUTF-8以外の値を指定してキュー間転送をした場合,受信側で同じ値を取得できません。

(c) sizeメソッド

public int size()

BytesContainerインタフェースが保持するバイト配列の数を返します。

(d) getPayloadメソッド

public byte[] getPayload(int number) throws HRMException

引数numberで指定されたバイト配列を返します。この引数numberと同じ値をgetContentTypeメソッドの引数に指定して発行した場合の値が,TEXT_PLAINだったとき,このメソッドで取得するデータはUTF-8の文字コードで変換された値です。

(e) getContentTypeメソッド

public String getContentType(int number) throws HRMException

引数numberで指定されたバイト配列のデータ型を返します。

(f) clearメソッド

public void clear()

BytesContainerインタフェースが保持するデータ(バイト配列およびバイト配列のデータ型)をすべて消去します。