public abstract class CreateFormRuntime extends java.lang.Object implements Runtime
ランタイムの基本的な処理とファクトリメソッドを持つクラスです。 このクラスは各ランタイムクラスのスーパークラスです。 このクラスのインスタンスを生成することはできません。 このクラスのファクトリメソッドを使用して、ランタイムクラスのインスタンスを生成できます。
// コマンドラインパラメータの設定 RuntimeParam param = new RuntimeParam(); param.setWorkDir("/somewhere/work_dir"); param.setStyleFile("sample.sty"); param.setOutFile("/somewhere/outfile_dir/sample.pdf"); param.setDataFile("/somewhere/datafile_dir/sample.csv"); // Castランタイムの実行 CCast libcall = new CCast(); int RetVal = libcall.executeRuntime(param);
ランタイムの実行時に呼び出す executeRuntime
および synchronizedExecuteRuntime
から
JavaAPI固有のエラーコードが返されることがあります。
JavaAPI固有のエラーコードについては以下の通りです。
RuntimeParam.getInputStream()
からデータファイルの読み出しができないdestroy()
の呼び出しによって帳票出力が中断された修飾子とタイプ | フィールドと説明 |
---|---|
protected java.util.concurrent.atomic.AtomicBoolean |
terminateProcess
ランタイムのプロセスを中断するためのオブジェクト
|
コンストラクタと説明 |
---|
CreateFormRuntime() |
修飾子とタイプ | メソッドと説明 |
---|---|
protected int |
changeJavaReturnValue(int dllReturnValue,
RuntimeParam param)
dllからの戻り値をJavaAPIの戻り値に変換します。
|
protected int |
changeJavaReturnValue2(int flag,
int ret,
java.lang.String rpath)
実行形式ランタイムからの戻り値をJavaAPIの戻り値に変換します。
|
static Runtime |
createRuntime(java.lang.String classname)
classnameに指定したランタイムのインスタンスを生成します。
|
protected void |
deleteFiles(RuntimeParam param,
java.lang.String dataFilePath,
java.lang.String outFilePath)
テンポラリファイルや、作りかけのpdfファイルなどを削除します。
|
void |
destroy()
ランタイムのプロセスを強制終了して帳票出力を中断します。
|
protected int |
environmentalDependenceExec(int windowHandle,
int option,
java.lang.String title,
RuntimeParam param)
Windows環境、Unix環境それぞれに依存したexecを実行します。
|
protected abstract int |
execUnixRuntime(java.lang.String commandline)
Unix用ライブラリをロードし実行します。
|
int |
executeRuntime(RuntimeParam param)
ランタイムを実行します。
|
protected abstract int |
execWindowsRuntime(int windowHandle,
int option,
java.lang.String title,
java.lang.String commandline)
Windows用ライブラリをロードし実行します。
|
protected abstract int |
exeUnixRuntime(RuntimeParam param)
実行形式ランタイムを実行します。
|
protected abstract int |
exeWinRuntime(RuntimeParam param)
実行形式ランタイムを実行します。
|
protected void |
generateDataFilePath(RuntimeParam param)
データファイルパスをセットします。
|
protected java.lang.String |
getEnv_CreateLibPath()
環境変数「CREATE_LD_LIBRARY_PATH」の設定値を返す
|
protected java.lang.String |
getOutFilePath(RuntimeParam param)
出力ファイルパスを返します。
|
protected java.lang.String |
getReturnFilePath()
戻り値受け渡し用ファイルパスを返します。
|
protected int |
getReturnValue(java.lang.String path)
戻り値受け渡しファイルから戻り値を読み取り値を返します
|
protected int |
isReturnFile(RuntimeParam param)
戻り値受け渡しファイルを作成する必要の有無を返します
|
protected boolean |
isUnix()
システムがUnix環境かどうかを返します。
|
static void |
main(java.lang.String[] args)
CreateFormLib.jar バージョン情報確認(パラメータ「--」)
|
protected void |
outputPdfFileToStream(RuntimeParam param,
java.lang.String filePath)
指定ファイルをRuntimeParamに指定した出力ストリームへ出力します。
|
protected static java.lang.Process |
start(java.lang.String process,
RuntimeParam param) |
protected static java.lang.Process |
start(java.lang.String process,
RuntimeParam param,
java.lang.String cmdline) |
protected static java.lang.Process |
start(java.lang.String process,
RuntimeParam param,
java.lang.String cmdline,
java.lang.String key,
java.lang.String value) |
protected int |
synchronizedexec(int windowHandle,
int option,
java.lang.String title,
RuntimeParam param)
ランタイムを排他制御をかけて実行します。
|
int |
synchronizedExecuteRuntime(RuntimeParam param)
ランタイムを排他実行します。
|
protected void |
tearDown(RuntimeParam param,
java.lang.String dataFilePath,
java.lang.String outFilePath)
Runtime実行後処理です。
|
protected java.util.concurrent.atomic.AtomicBoolean terminateProcess
public static void main(java.lang.String[] args)
CreateFormLib.jar バージョン情報確認(パラメータ「--」)
args
- コマンドラインからの入力パラメータ文字列public void destroy()
中断に成功すると executeRuntime
または synchronizedExecuteRuntime
の戻り値として -2020 が返されます。
すでに帳票出力が完了している場合は何も起こりません。
帳票出力を中断した場合は途中まで出力されたデータの内容については保証されません。
public static Runtime createRuntime(java.lang.String classname)
classnameに指定したランタイムのインスタンスを生成します。
public int executeRuntime(RuntimeParam param)
ランタイムを実行します。
executeRuntime
インタフェース内 Runtime
param
- ランタイムに渡すパラメータprotected abstract int exeUnixRuntime(RuntimeParam param)
param
- ランタイムに渡すオプション文字列protected abstract int exeWinRuntime(RuntimeParam param)
param
- ランタイムに渡すオプション文字列protected abstract int execUnixRuntime(java.lang.String commandline)
commandline
- ランタイムに渡すオプション文字列protected abstract int execWindowsRuntime(int windowHandle, int option, java.lang.String title, java.lang.String commandline)
windowHandle
- ウィンドウハンドルoption
- 処理オプションtitle
- 処理進行ウィンドウのタイトルcommandline
- ランタイムに渡すオプション文字列public int synchronizedExecuteRuntime(RuntimeParam param)
ランタイムを排他実行します。 入力データにXMLデータ、もしくはデータベース直接連携でランタイムを実行する場合はランタイムを排他実行してください。
synchronizedExecuteRuntime
インタフェース内 Runtime
param
- ランタイムに渡すパラメータprotected void generateDataFilePath(RuntimeParam param) throws java.io.IOException
データファイルパスをセットします。 データファイルパスはRuntimeParamに指定されているパスを使用します。 ただし、InputStreamが指定されている場合はそちらを優先します。
param
- RuntimeParamインスタンスjava.io.IOException
protected java.lang.String getOutFilePath(RuntimeParam param)
出力ファイルパスを返します。 出力ファイルパスはRuntimeParamに指定されているパスを使用します。 ただし、OutputStreamが指定されている場合はそちらを優先します。
param
- RuntimeParamインスタンスprotected java.lang.String getReturnFilePath()
戻り値受け渡し用ファイルパスを返します。
protected void outputPdfFileToStream(RuntimeParam param, java.lang.String filePath) throws java.io.FileNotFoundException, java.io.IOException
param
- RuntimeParamインスタンスfilePath
- ファイルパスjava.io.FileNotFoundException
- outFilePathが存在しない場合java.io.IOException
- IOAPIが失敗した場合protected int environmentalDependenceExec(int windowHandle, int option, java.lang.String title, RuntimeParam param)
windowHandle
- ウィンドウハンドルoption
- 処理オプションtitle
- 処理進行ウィンドウのタイトルparam
- ランタイムに渡すオプション文字列protected int synchronizedexec(int windowHandle, int option, java.lang.String title, RuntimeParam param)
ランタイムを排他制御をかけて実行します。
windowHandle
- ウィンドウハンドルoption
- 処理オプションtitle
- 処理進行ウィンドウのタイトルparam
- ランタイムに渡すオプション文字列protected void tearDown(RuntimeParam param, java.lang.String dataFilePath, java.lang.String outFilePath) throws java.io.FileNotFoundException, java.io.IOException
Runtime実行後処理です。 テンポラリファイルの削除や、OutputStreamが指定されている場合にストリーム出力します。
param
- RuntimeParamインスタンスdataFilePath
- データファイルパス、InputStream指定時は、テンポラリファイルのパスが入るoutFilePath
- 出力ファイルパス、OutputStream指定時は、テンポラリファイルのパスが入るjava.io.FileNotFoundException
- データファイル、出力ファイルが存在しない場合java.io.IOException
- IOAPIが失敗した場合protected void deleteFiles(RuntimeParam param, java.lang.String dataFilePath, java.lang.String outFilePath)
param
- RuntimeParamのインスタンスdataFilePath
- データファイルパス、InputStream指定時は、テンポラリファイルのパスが入るoutFilePath
- 出力ファイルパス、OutputStream指定時は、テンポラリファイルのパスが入るprotected int changeJavaReturnValue(int dllReturnValue, RuntimeParam param)
dllReturnValue
- dllからの戻り値protected boolean isUnix()
protected int isReturnFile(RuntimeParam param)
param
- RuntimeParamインスタンスprotected int getReturnValue(java.lang.String path) throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
protected int changeJavaReturnValue2(int flag, int ret, java.lang.String rpath) throws java.io.FileNotFoundException, java.io.IOException
flag
- 戻り値受け渡しファイル作成フラグ(0:必要なし 1:必要あり(CREATE_ROCODE設定のみ) 2:必要あり(総ページ数取得オプションのみ) 3:必要あり(CREATE_ROCODE設定&総ページ数取得オプション))ret
- ランタイムからのの戻り値rpath
- 戻り値受け渡し用ファイルパスjava.io.FileNotFoundException
java.io.IOException
protected java.lang.String getEnv_CreateLibPath()
protected static java.lang.Process start(java.lang.String process, RuntimeParam param) throws java.io.IOException
java.io.IOException
protected static java.lang.Process start(java.lang.String process, RuntimeParam param, java.lang.String cmdline) throws java.io.IOException
java.io.IOException
protected static java.lang.Process start(java.lang.String process, RuntimeParam param, java.lang.String cmdline, java.lang.String key, java.lang.String value) throws java.io.IOException
java.io.IOException