ページの先頭行へ戻る
Interstage List Creator V10.5.0 アプリケーション作成ガイド
FUJITSU Software

5.4.4 FormsStreamクラス

Javaコネクタに渡すデータを書き込むための出力ストリームです。

      java.lang.Object
        ∟ Java.io.OutputStream
             ∟ com.fujitsu.systemwalker.outputassist.connector.FormsStream

public class FormsStream
extends java.io.FileOutputStream
implements FormBase

5.4.4.1 フィールドの概要

FormsStreamクラスのsetGrpOutメソッドで指定するフィールドを以下に示します。

表5.9 FormsStreamクラスのsetGrpOutメソッドで指定するフィールド

定数

説明

GRPOUT_NOGRP

マルチフォーム出力しません。

GRPOUT_GRP

マルチフォーム出力します。

FormsStreamクラスのsetGrpDelimitModeメソッドで指定するフィールドを以下に示します。

表5.10 FormsStreamクラスのsetGrpDelimitModeメソッドで指定するフィールド

定数

説明

DELIMIT_ANY

以下の場合に指定します。

  • 入力データ形式が「可変長」、区切り文字が「バーティカルバー(|)」「シャープ(#)」「アスタリスク(*)」「任意」のいずれかの場合

  • 入力データ形式が「CSV 形式」、区切り文字が「カンマ(,)」の場合

DELIMIT_SPACE

入力データ形式が「可変長」、区切り文字が「1個以上の空白」の場合に指定します。

DELIMIT_TAB

以下の場合に指定します。

  • 入力データ形式が「可変長」、区切り文字が「タブ」の場合

  • 入力データ形式が「CSV 形式」、区切り文字が「タブ」の場合

DELIMIT_FIXED

入力データ形式が「固定長」、区切り文字が「区切り文字なし」の場合に指定します。

DELIMIT_FIXEDDELIMIT

入力データ形式が「固定長」、区切り文字が「区切り文字あり」の場合に指定します。

DELIMIT_XML

入力データ形式が「XML形式」の場合に指定します。

インタフェース com.fujitsu.systemwalker.outputassist.connector.FormBase から継承した文字コードを意味するフィールドについては、以下を参照してください。

⇒“5.4.1.1 フィールドの概要

5.4.4.2 コンストラクタの概要

FormsStreamクラスのコンストラクタを以下に示します。

表5.11 FormsStreamクラスのコンストラクタ

コンストラクタの概要

FormsStream(java.lang.String assets)(*1)

帳票格納ディレクトリを指定して、データを書き込むための出力ストリームを作成します。

*1:
ファイル名、ファイルの格納先の指定に関する注意事項については、以下を参照してください。

⇒“3.8 ユーザアプリケーションの開発・実行に関する留意事項

5.4.4.3 メソッドの概要

FormsStreamクラスのメソッドを以下に示します。

表5.12 FormsStreamクラスのメソッド

メソッドの分類

メソッドの概要
W:アプリケーションサーバがWindowsの場合に使用できるメソッドです。
W64:アプリケーションサーバがWindows(x64)の場合に使用できるメソッドです。
S:アプリケーションサーバがSolarisの場合に使用できるメソッドです。
L:アプリケーションサーバがLinuxの場合に使用できるメソッドです。
共:どの環境でも使用できるメソッドです。

ユーザ資源情報に関するメソッド

void

setScriptFile(java.lang.String name)(*1) (*2)

1つの帳票出力時の帳票名を指定します。

void

setFileType(int code)

実行環境の文字コード系を指定します。

void

setDataCode(int encoding)

ストリームに渡すデータの文字コードを指定します。

void

setXmlDataRoot(java.lang.String xmlroot)

入力データ形式が「XML形式」で、XMLルートとデータルートが異なる場合に、XMLデータ中のデータルートの親要素のパスを指定します。

マルチフォーム出力/組合せフォーム出力用ユーザ資源情報に関するメソッド

void

setGrpOut(int group)(*1)

マルチフォーム出力するときに指定します。

void

setLcForm(java.lang.String names)(*1) (*2)

マルチフォーム出力/組合せフォーム出力時の帳票名を指定します。

void

setGrpDelimitMode(int mode)(*1)

マルチフォーム/組合せフォーム用帳票名データ区切り文字種別を指定します。

void

setGrpDelimit(java.lang.String delimit)

マルチフォーム/組合せフォーム用帳票名データ区切り文字を指定します。

void

setGrpBytes(int length)

マルチフォーム用帳票名データフィールド長を指定します。

void

setCbForm(boolean cbform)(*1)

組合せフォーム出力するときに指定します。

void

setCbFile(String cbfilename)(*2)

組合せフォーム定義ファイル名を指定します。

データ出力に関するメソッド

void

write(byte[] b)

指定されたバイト配列の b.length バイトを、この出力ストリームに書き込みます。

void

write(byte[] b, int off, int len)

指定されたバイト配列からのオフセット位置 off から始まる len バイトを、この出力ストリームに書き込みます。

void

write(int b)

指定されたバイトデータを、出力ストリームに書き込みます。

void

close()

出力ストリームを閉じ、このストリームに関連するシステムリソースを解放します。

資源解放に関するメソッド

void

cleanup()

Javaインタフェースが使用している資源を解放します。

*1:
必須メソッドですが、出力する方法によって必須メソッドが異なります。以下に、1つの帳票を出力する場合、マルチフォーム出力する場合、または組合せフォーム出力する場合の必須メソッドの違いを示します。

    ‐1つの帳票を出力する場合
        ・setScriptFileメソッド

    ‐マルチフォーム出力する場合
        ・setGrpOutメソッド
        ・setLcFormメソッド
        ・setGrpDelimitModeメソッド

    ‐組合せフォーム出力する場合
        ・setCbFormメソッド
        ・setLcFormメソッド
        ・setGrpDelimitModeメソッド

ただし、ローカル出力する場合、setLcFormメソッドは指定する必要がありません。

リモート帳票出力時に帳票を転送しない場合、setLcFormメソッドは指定する必要がありません。

*2:
ファイル名、ファイルの格納先の指定に関する注意事項については、以下を参照してください。

⇒“3.8 ユーザアプリケーションの開発・実行に関する留意事項

5.4.4.4 コンストラクタの詳細

public
FormsStream(java.lang.String assets)
throws ConnectorException, IOException
用途

帳票格納ディレクトリを指定して、データを書き込むための出力ストリームを作成します。

パラメータ
assets:

帳票格納ディレクトリをフルパスで指定します。

例外

ConnectorException, IOException

注意
  • 帳票格納ディレクトリは、アプリケーションサーバの帳票格納ディレクトリを指定してください。リモート帳票出力またはコネクタ連携を行う、かつ帳票を転送しない場合、帳票出力サーバの帳票格納ディレクトリは、PrintPropertiesクラスのsetPropertyメソッドのID_REMOTEDIRECTORYキーで指定してください。

  • 帳票格納ディレクトリ名を指定する場合、以下の注意事項があります。

    ⇒“3.8 ユーザアプリケーションの開発・実行に関する留意事項

5.4.4.5 メソッドの詳細

5.4.4.5.1 ユーザ資源情報に関するメソッド
public void
setScriptFile(java.lang.String name)
throws ConnectorException
用途

1つの帳票出力時の帳票名を指定します。

パラメータ
name:

1つの帳票を出力するときに使用する帳票名を指定します。

例外

ConnectorException

注意
  • 1つの帳票を出力する場合(マルチフォーム出力、または組合せフォーム出力をしない場合)は、このメソッドを必ず指定してください。

public void
setFileType(int code)
throws ConnectorException
用途

実行環境の文字コード系を指定します。

詳細については、以下を参照してください。

⇒“5.4.1.3 メソッドの詳細

例外

ConnectorException

public void
setDataCode(int encoding)
throws ConnectorException
用途

ストリームに渡すデータの文字コードを指定します。

パラメータ
encoding:

ストリームに渡すデータの文字コードを指定します。

CODE_SJIS:

Shift-JIS

CODE_UCS2LE:

UNICODE(UTF16リトルエンディアン)

CODE_UCS2BE:

UNICODE(UTF16ビッグエンディアン)

CODE_UTF8:

UNICODE(UTF8)

CODE_EUC:

EUC

CODE_UTF32LE:

UNICODE(UTF32 リトルエンディアン)

CODE_UTF32BE:

UNICODE(UTF32 ビッグエンディアン)

例外

ConnectorException

注意
  • ストリームに渡す入力データの文字コード系を、このメソッドのパラメータで指定します。

  • アプリケーションサーバがUNIX系OSで、入力データの文字コード系にEUC(「CODE_EUC」)を指定する場合は、setFileTypeメソッドで、必ずEUC種別(「CODE_EUC_U90」または「CODE_EUC_S90」)を指定してください。同様に、入力データの文字コード系にUNICODE(UTF8)(「CODE_UTF8」)を指定する場合は、setFileTypeメソッドで「CODE_UTF8」を指定してください。

  • 入力データ形式が「XML形式」のデータファイルを使用して帳票出力を行う場合は、このメソッドで文字コード系を指定しても無効となります。

    入力データ形式が「XML形式」のデータファイルを使用してOWFファイル生成を行う場合は、XMLファイル中のXML宣言で文字コード系を指定し、このメソッドの文字コード系には、Shift-JIS(「CODE_SJIS」)を指定してください。

  • Unicodeの文字が定義されている帳票定義情報を使用する場合、入力データの文字コード系はUNICODEのいずれかを指定してください。

  • 英語環境(英語ロケール)で帳票出力する場合、入力データの文字コード系はUNICODEのいずれかを指定してください。

public void
setXmlDataRoot(java.lang.String xmlroot)
throws ConnectorException
用途

入力データ形式が「XML形式」で、XMLルートとデータルートが異なる場合に、XMLデータ中のデータルートの親要素のパスを指定します。

データルートの親要素のパスは、「スラッシュ(/)」を始点にデータルートの親要素までの要素名を「スラッシュ(/)」で区切って指定します。それ以外の形式は指定できません。

XMLデータ中のこのメソッドで指定したパス直下にデータルートが複数存在する場合は、すべてのデータルートを検索します。

このメソッドの呼び出しを省略すると、以下の優先順序で帳票のデータルートを検索します。

  1. XMLルートとデータルートが同じ名前の場合、XMLルートをデータルートとみなします。

  2. XMLルートとデータルートが異なる場合、XMLルート直下の子要素の中からデータルートを検索します。

パラメータ
xmlroot:

XMLデータ中のデータルートの親要素のパスを指定します。

例外

ConnectorException

5.4.4.5.2 マルチフォーム出力/組合せフォーム出力用ユーザ資源情報に関するメソッド
public void
setGrpOut(int group)
throws ConnectorException
用途

マルチフォーム出力するときに指定します。

パラメータ
group:

マルチフォーム出力するかどうかを指定します。

GRPOUT_NOGRP:

マルチフォーム出力しません。

GRPOUT_GRP:

マルチフォーム出力します。

例外

ConnectorException

注意
  • マルチフォーム出力する場合(setGrpOutメソッドに「GRPOUT_GRP」を指定した場合)、setLcFormメソッドで帳票名を必ず指定してください(OWFファイル生成時)。

  • マルチフォーム出力する場合(setGrpOutメソッドに「GRPOUT_GRP」を指定した場合)、setLcFormメソッドで帳票名を指定するか、PrintPropertiesクラスのsetPropertyメソッドのID_SENDRESOURCEキーで「NOSEND」を指定してください(リモート帳票出力時およびコネクタ連携時)。

public void
setLcForm(java.lang.String names)
throws ConnectorException
用途

マルチフォーム出力/組合せフォーム出力の帳票名を指定します。

アプリケーションサーバの帳票名を指定します。複数の帳票名を、「セミコロン(;)」で区切って指定します。

パラメータ
names:

マルチフォーム出力する場合(setGrpOut メソッドに「GRPOUT_GRP」を指定した場合)、または組合せフォーム出力する場合(setCbFormメソッドに「true」を指定した場合)に、使用する帳票名を指定します。

帳票名は、「セミコロン(;)」で区切って複数指定します。

例外

ConnectorException

注意
  • このメソッドは、リモート帳票出力時、コネクタ連携時、および OWF ファイル生成時のみ有効です。

  • マルチフォーム出力する場合(setGrpOut メソッドに「GRPOUT_GRP」を指定した場合)、または組合せフォーム出力する場合(setCbFormメソッドに「true」を指定した場合)は、このメソッド で帳票名を必ず指定してください(OWFファイル生成時)。

  • マルチフォーム出力する場合(setGrpOut メソッドに「GRPOUT_GRP」を指定した場合)、または組合せフォーム出力する場合(setCbFormメソッドに「true」を指定した場合)は、このメソッド で帳票名を指定するか、PrintPropertiesクラスのsetPropertyメソッドのID_SENDRESOURCEキーで「NOSEND」を指定してください(リモート帳票出力時およびコネクタ連携時)。

public void
setGrpDelimitMode(int mode)
throws ConnectorException
用途

マルチフォーム/組合せフォーム用帳票名データ区切り文字種別を指定します。

パラメータ
mode:

マルチフォーム/組合せフォーム用帳票名データ区切り文字種別を指定します。

DELIMIT_ANY:

以下の場合に指定します。

・入力データ形式が「可変長」、区切り文字が「バーティカルバー(|)」「シャープ(#)」「アスタリスク(*)」「任意」のいずれかの
  場合

・入力データ形式が「CSV 形式」、区切り文字が「カンマ(,)」の場合

DELIMIT_SPACE:

入力データ形式が「可変長」、区切り文字が「1 個以上の空白」の場合に指定します。

DELIMIT_TAB:

以下の場合に指定します。

・入力データが「可変長」、区切り文字が「タブ」の場合

・入力データが「CSV 形式」、区切り文字が「タブ」の場合

DELIMIT_FIXED:

入力データ形式が「固定長」、区切り文字が「区切り文字なし」の場合に指定します。

DELIMIT_FIXEDDELIMIT:

入力データ形式が「固定長」、区切り文字が「区切り文字あり」の場合に指定します。

DELIMIT_XML:

入力データ形式が「XML形式」の場合に指定します。

例外

ConnectorException

注意
  • マルチフォーム出力/組合せフォーム出力をする場合、このメソッドを必ず指定してください。
    入力データ形式が「固定長」の場合(このメソッドで「DELIMIT_FIXED」または「DELIMIT_FIXEDDELIMIT」を指定した場合)は、帳票名データのフィールド長をsetGrpBytesメソッドで必ず指定してください。

  • 表にある条件でマルチフォーム/組合せフォーム用帳票名データ区切り文字に「任意の1バイト文字」または「区切り文字あり」を指定する場合の、区切り文字の文字コードについて以下に示します。

    帳票出力サーバ

    入力データの文字コード系

    入力データ形式

    マルチフォーム/組合せフォーム用帳票名データ区切り文字の文字コード

    Windows

    Unicode

    可変長

    0x007F/0x7F以下の文字

    固定長

    UNIX系OS

    EUC(U90/S90)またはUNICODE(UTF8)

    可変長

    0x7F以下の文字

    固定長

public void
setGrpDelimit(java.lang.String delimit)
throws ConnectorException
用途

マルチフォーム出力する場合(setGrpOut メソッドに「GRPOUT_GRP」を指定した場合)、または組合せフォーム出力する場合(setCbFormメソッドに「true」を指定した場合)で、任意の区切り文字を使用する場合(setGrpDelimitModeで「DELIMIT_ANY」を指定した場合)に、実際に使用する区切り文字を指定します。

区切り文字は、データ定義画面の[環境定義]タブで指定した入力データ形式と区切り文字にしたがって指定します。

パラメータ
delimit:

マルチフォーム/組合せフォーム用帳票名データ区切り文字を1 バイトの文字列で指定します。

例外

ConnectorException

注意
  • 入力データの文字コード系がUnicodeの場合、文字コードが0x007F/0x7F以下の文字を指定してください。

  • 組合せフォーム出力する場合、「コロン(:)」は指定しないでください。

public void
setGrpBytes(int length)
throws ConnectorException
用途

マルチフォーム出力する場合(setGrpOutメソッドに「GRPOUT_GRP」を指定した場合)に、データファイル中の帳票名データのフィールド長を指定します。

入力データ形式が「固定長」の場合(setGrpDelimitModeメソッドに「DELIMIT_FIXED」または「DELIMIT_FIXEDDELIMIT」を指定した場合)は、このメソッドを必ず指定してください。区切り文字ありの場合は、区切り文字を含まない長さを指定してください。

パラメータ
length:

マルチフォーム用帳票名データフィールド長を指定します。

例外

ConnectorException

public void
setCbForm(boolean cbform)
throws ConnectorException
用途

組合せフォーム出力するときに指定します。

このメソッドの呼び出しを省略すると、組合せフォーム出力は行われません。

パラメータ
cbform:

組合せフォーム出力するかどうかを指定します。

false:

組合せフォーム出力しません。

true:

組合せフォーム出力します。

例外

ConnectorException

注意
  • 組合せフォーム出力する場合は、setGrpDelimitModeメソッド、およびsetGrpDelimitメソッドで帳票名データ区切り文字を指定してください。

  • OWFファイル生成時に組合せフォーム出力する場合は、setLcFormメソッドで帳票名を必ず指定してください。

  • リモート帳票出力またはコネクタ連携時に組合せフォーム出力する場合は、setLcFormメソッドで帳票名を指定するか、PrintProperties クラスのsetProperty メソッドのID_SENDRESOURCE キーで「NOSEND」を指定してください。

public void
setCbFile(String cbfilename)
throws ConnectorException
用途

組合せフォーム定義ファイル名を指定します。

組合せフォーム定義ファイルとは、組み合わせて出力する帳票定義情報と、帳票定義情報の重なり順などが定義されたファイルです。

このメソッドの呼び出しを省略すると、帳票格納ディレクトリ配下の組合せフォーム定義ファイル(Lccbform.ini)が有効になります。

パラメータ
cbfilename:

組合せフォーム定義ファイル名をフルパスで指定します。

例外

ConnectorException

注意
  • 組合せフォーム定義ファイルの文字コード系については、オンラインマニュアル"帳票設計編"を参照してください。

  • 以下の場合、このメソッドにファイル名のみ指定してください。

    • リモート帳票出力時に組合せフォーム定義ファイルを転送した場合

    • コネクタ連携時に組合せフォーム定義ファイルを転送した場合

  • ファイル名、ファイルの格納先の指定に関する注意事項については、以下を参照してください。

    ⇒“3.8 ユーザアプリケーションの開発・実行に関する留意事項

5.4.4.5.3 データ出力に関するメソッド
public void
write(byte[] b)
throws IOException
用途

指定されたバイト配列を、この出力ストリームに書き込みます。

パラメータ
b:

書き込まれるデータ

例外

IOException

public void
write(byte[] b, int off, int len)
throws IOException
用途

指定されたバイト配列からのオフセット位置offから始まるlenバイトを、この出力ストリームに書き込みます。

パラメータ
b:

データ

off:

データの開始オフセット

len:

書き込むバイト数

例外

IOException

public void
write(int b)
throws IOException
用途

指定されたバイトデータを、出力ストリームに書き込みます。OutputStreamのwriteメソッドを実装します。

パラメータ
b:

バイト

例外

IOException

public void
close()
throws IOException
用途

出力ストリームを閉じ、このストリームに関連するシステムリソースを解放します。以降は、この出力ストリームをバイトの書き込みに使用することはできません。

例外

IOException

注意
  • 帳票出力を行う前に、このメソッドを必ず呼び出してください。

5.4.4.5.4 資源解放に関するメソッド
public void
cleanup()
throws ConnectorException
用途

Javaインタフェースが使用している資源を解放します。

例外

ConnectorException

注意
  • オブジェクトを破棄する前に、このメソッドを必ず呼び出してください。

5.4.4.6 注意事項