Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus Reliable Messaging


7.8.2 BytesContainerインタフェース

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

〈この項の構成〉

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

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

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

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

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

[図データ]

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

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

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

項番

データ型の種類

バイト配列のデータ型の内容

1

HTML型

拡張子がhtml,htmのファイルの内容をバイト配列化したデータ

2

TEXT型

拡張子がtxt,textのファイルの内容をバイト配列化したデータ

3

IEF型

拡張子がiefのファイルの内容をバイト配列化したデータ

4

TIFF型

拡張子がtiff, tifのファイルの内容をバイト配列化したデータ

5

XWD型

拡張子がxwdのファイルの内容をバイト配列化したデータ

6

POSTSCRIPT型

拡張子がai, eps, psのファイルの内容をバイト配列化したデータ

7

RTF型

拡張子がrtfのファイルの内容をバイト配列化したデータ

8

TEX型

拡張子がtexのファイルの内容をバイト配列化したデータ

9

TEXINFO型

拡張子がtexinfo,texiのファイルの内容をバイト配列化したデータ

10

ROFF型

拡張子がt,tr,roffのファイルの内容をバイト配列化したデータ

11

AU型

拡張子がauのファイルの内容をバイト配列化したデータ

12

MIDI型

拡張子がmidi,midのファイルの内容をバイト配列化したデータ

13

AIFC型

拡張子がaifcのファイルの内容をバイト配列化したデータ

14

AIF型

拡張子がaif,aiffのファイルの内容をバイト配列化したデータ

15

WAV型

拡張子がwavのファイルの内容をバイト配列化したデータ

16

MPEG型

拡張子がmpeg,mpg,mpeのファイルの内容をバイト配列化したデータ

17

QT型

拡張子がqt,movのファイルの内容をバイト配列化したデータ

18

AVI型

拡張子が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です。

  • 引数

    引数名

    説明

    payload

    メッセージのデータを含む byte[]

  • 戻り値

    ありません。

  • 例外

    例外クラス

    説明

    HRMIllegalArgumentException

    引数payloadにnullを指定しました。

    HRMException

    制限数より多くのバイト配列を設定しました。または,内部エラーのためにメソッドの処理が失敗しました。

    例外クラスには障害コードと障害情報が設定されます。障害コードと対処については,「7.9 障害コードの詳細」を参照してください。

(b) addPayloadメソッド

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

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

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

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

  • 引数

    引数名

    説明

    payload

    メッセージのデータを含む byte[]

    contentType

    payloadのデータ型を示す値

  • 戻り値

    ありません。

  • 例外

    例外クラス

    説明

    HRMIllegalArgumentException

    次のうちのどれかの状態になりました。

    • 引数payloadにnullを指定した

    • 引数contentTypeにnullを指定した

    • 引数contentTypeにBytesContainerのフィールドで定義した値以外を設定した

    HRMException

    制限数より多くのバイト配列を設定しました。または,内部エラーのためにメソッドの処理が失敗しました。

    例外クラスには障害コードと障害情報が設定されます。障害コードと対処については,「7.9 障害コードの詳細」を参照してください。

(c) sizeメソッド

public int size()

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

  • 引数

    ありません。

  • 戻り値

    BytesContainerが保持するバイト配列の数を示す値です。

  • 例外

    ありません。

(d) getPayloadメソッド

public byte[] getPayload(int number) throws HRMException

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

  • 引数

    引数名

    説明

    number

    取得するバイト配列の番号を示す値です。制限数は0です。

  • 戻り値

    メッセージのデータを含むbyte[]。

  • 例外

    例外クラス

    説明

    HRMIllegalArgumentException

    引数numberが制限数の範囲外です。または,BytesContainerが保持するバイト配列数を超える値を引数numberに指定しました。

    HRMException

    内部エラーのためにメソッドの処理が失敗しました。

    例外クラスには障害コードと障害情報が設定されます。障害コードと対処については,「7.9 障害コードの詳細」を参照してください。

(e) getContentTypeメソッド

public String getContentType(int number) throws HRMException

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

  • 引数

    引数名

    説明

    number

    取得するバイト配列の番号を示す値です。制限数は0です。

  • 戻り値

    payloadのデータ型を示す値です。

  • 例外

    例外クラス

    説明

    HRMIllegalArgumentException

    引数numberが制限数の範囲外です。または,BytesContainerが保持するバイト配列数を超える値を引数numberに指定しました。

    HRMException

    内部エラーのためにメソッドの処理が失敗しました。

    例外クラスには障害コードと障害情報が設定されます。障害コードと対処については,「7.9 障害コードの詳細」を参照してください。

(f) clearメソッド

public void clear()

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

  • 引数

    ありません。

  • 戻り値

    ありません。

  • 例外

    ありません。