Cosminexus V9 ナビゲーション プラットフォーム 開発ガイド

[目次][用語][索引][前へ][次へ]

5.3.2 outputToNodeメソッド

入出力プラグインを配置したノードに遷移するときに,遷移先ノードに情報を出力する処理を実行します。

ノード遷移時に,遷移先ノードに外部プログラムから取得したデータを反映するなど,データ参照系の処理をこのメソッドで実装すると効果的です。

合流ノードが遷移した経路ごとに入出力プラグインの処理を切り替えたい場合は,入出力プラグインのoutputToNodeメソッドで遷移した経路を遷移元ノードから判断し,処理を切り替えるようにしてください。

outputToNodeメソッドの注意事項

なお,メソッドの実行結果はエラーのほかに,正常,警告があります。

<この項の構成>
(1) 形式
(2) 引数
(3) 戻り値
(4) 例外

(1) 形式

public Map<String, Object> outputToNode(HttpSession session, Map<String, Object> param);

(2) 引数

(a) session

現在のセッションが格納されます。このセッションに対してsetAttribute()メソッドを実行する場合,setAttribute()メソッドの引数nameに次の名前を指定しないでください。

また,URLのリクエストパラメタを利用することもできます。URLのリクエストパラメタを利用する場合は,ucnp.request.optionsキーでucnpOptionsパラメタを取得する必要があります。

ucnpOptionsパラメタは,セッション単位または画面ID単位で取得できます。ucnpOptionsパラメタの値は画面ID単位で取得することを推奨します。画面ID単位で取得する方法については,「(b) param」を参照してください。

セッション単位の取得を推奨しない理由
同一セッションでナビゲーション プラットフォームの画面を複数表示した場合,あとから操作した画面のucnpOptionsパラメタの値がHTTPセッションに上書きされ,前に操作した画面のucnpOptionsパラメタの情報が削除されるためです。
ucnp.request.optionsキー
セッションから,URLに指定したucnpOptionsパラメタの値を取得するためのキーです。HttpSession.getAttribute()メソッドにこのキーを指定することで,URLデコードされたucnpOptionsパラメタの値を取得できます。URLにucnpOptionsパラメタが指定されていない場合は,nullを返します。
ucnp.request.optionsキーの指定例については,「5.3 IIoPluginController(サーバ処理実装インタフェース)」のinputFromNodeメソッドの指定例を参照してください。
(b) param

入出力プラグインの実行時に,クライアントから送信される情報が格納されます。詳細を次の表に示します。paramパラメタは更新しないでください。

表5-9 paramに格納されるキー(outputToNodeメソッド)

項番 キー名 説明
1 ucnp.next.params.map Map<String,String> 入出力プラグインの実行時に,次に示すキーと値を対にしたMapとして渡されます。
  • キー
    入出力プラグインの出力パラメタ名

  • 出力パラメタに関連づけられたガイドの,遷移前の時点のキャッシュ値
ガイドに関連づけられていないパラメタはキーに含めません。
キャッシュ値については「5.2.1(5) プラグインで保持されるキャッシュ値」を参照してください。
2 ucnp.button.type String
次のどれか
  • "start"
  • "show_next_page"
  • "show_previous_page"
  • "show_complete_page"
クリックされたボタンの種別,または遷移の種別を示します。
  • "start"
    ・ターミナルノード(開始)からプロセスノードに遷移
    ・ターミナルノード(開始)に接続されていない先頭のプロセスノードを表示
  • "show_next_page"
    ・[次へ]ボタン,[工程名へ]ボタン,または直接遷移で次のノードに遷移
    ・遷移先のノードが存在しているプロセスノード,または[戻る]ボタンが表示になっているプロセスノードに遷移
  • "show_previous_page"
    ・[戻る]ボタン
    ・前のノードに直接遷移
  • "show_complete_page"
    ・[完了]ボタン
    ・遷移先ノードが存在しない,かつ[戻る]ボタンが非表示になっているプロセスノードに遷移
3 ucnp.current.node.name String
0文字以上の文字列
遷移元のガイドに対応したノードの名称が渡されます。
名称が設定されていないノードの場合は,空文字が渡されます。
4 ucnp.next.node.name String
0文字以上の文字列
遷移先のガイドに対応したノードの名称が渡されます。
名称が設定されていないノードの場合は,空文字が渡されます。
5 ucnp.current.node.id String
0文字以上の文字列
遷移元のガイドに対応したノードIDが渡されます。
ノードIDが設定されていない場合は,空文字が渡されます。
6 ucnp.next.node.id String
0文字以上の文字列
遷移先のガイドに対応したノードIDが渡されます。
ノードIDが設定されていない場合は空文字が渡されます。
7 ucnp.flow.contents.id String
1文字以上の文字列
選択中の業務コンテンツの業務コンテンツIDが渡されます。
8 ucnp.flow.contents.name String
1文字以上の文字列
選択中の業務コンテンツの業務名が渡されます。
9 ucnp.screen.id String
1文字以上の文字列
業務コンテンツを実行している画面を一意に識別するID(画面ID)が渡されます。
10 ucnp.screen.ispreview String
次のどちらか
  • "true"
  • "false"
業務コンテンツを実行している画面がプレビュー画面かどうかを示します。
  • "true"
    プレビュー画面
  • "false"
    業務実行画面
11 ucnp.options.param String 画面ID単位で取得したucnpOptionsパラメタのURLデコードした値を示します。
ucnpOptionsパラメタが指定されていない場合,このキーは設定されません。
注※
URLに指定したucnpOptionsパラメタの値を画面ID単位で取得するためのキーです。引数paramにこのキーを指定することで,URLデコードされたucnpOptionsパラメタの値を取得できます。URLにucnpOptionsパラメタを指定していない場合は,nullが返されます。ucnp.options.paramキーの指定例については,「5.3 IIoPluginController(サーバ処理実装インタフェース)」のinputFromNodeメソッドの指定例を参照してください。

(3) 戻り値

入出力プラグインの実行結果がMapで返されます。詳細を次の表に示します。これ以外の値は無視されます。

表5-10 outputToNodeメソッドの戻り値

項番 キー名 説明
1 ucnp.next.params.map Map<String, String> 入出力プラグインの実行時に,次に示すキーと値を対にしたMapとして渡されます。
  • キー
    入出力プラグインの出力パラメタ名

  • 出力パラメタに関連づけられているガイドの,遷移前の時点のキャッシュ値
2 ucnp.error.message String outputToNodeメソッドを実行したあとに利用者にメッセージを表示したい場合,このキーを設定してください。
遷移先ノードに関連づけられている入出力プラグインが,次のどちらかの結果で終了したとき,このキーに設定した文字列がメッセージダイアログに表示されます。
  • どれかの入出力プラグインのoutputToNodeメソッドの実行結果の種別がエラー
  • すべての入出力プラグインのoutputToNodeメソッドの実行結果種別が正常,または警告
このキーを設定するときは,次の点に注意してください。
  • 改行は「\n」で指定してください。
  • 複数の入出力プラグインでこのキーを設定している場合,設定した文字列を改行で連結した値が一つのメッセージダイアログに表示されます。メッセージが長すぎると一部が画面に表示されないときがあります。メッセージは画面に表示できる長さにしてください。
3 ucnp.error.type String
次のどちらか
  • "NG"
  • "WARNING"
ucnp.error.messageに指定したメッセージがダイアログに表示されたあとに,ノード遷移を抑止するかどうかを設定してください。指定できる文字列を次に示します。
  • "NG"
    遷移が抑止される
  • "WARNING"
    遷移が抑止されない
次の場合,このキーに指定した値は無視されます。
  • ucnp.error.messageに値を設定していない
  • ucnp.error.messageにnullを指定している
次の場合,"NG"が仮定されます。
  • "NG"および"WARNING"以外の文字列を指定した
  • nullを指定した
  • 値を指定していない
複数の入出力プラグインの実行時は,設定によって次のように動作が異なります。
  • すべての入出力プラグインで"WARNING"を指定している
    遷移が抑止されない
  • 入出力プラグインに"WARNING"を一つも指定していない
    遷移が抑止される

outputToNodeメソッドの戻り値と遷移先ノードに関連づけた入出力プラグイン実行後の動作を次の表に示します。

表5-11 戻り値と遷移先ノードに関連づけた入出力プラグイン実行後の動作

項番 ucnp.error.messageの指定値 ucnp.error.typeの指定値 メソッドの実行結果 ダイアログの表示の有無 ノード遷移の有無
1 指定なし,またはnull NG 正常
2 WARNING 正常
3 NGおよびWARNING以外 正常
4 指定あり(null以外) NG エラー
5 WARNING 警告
6 NGおよびWARNING以外 エラー

(4) 例外

なし