イントラマートのContentオブジェクトを使って、別のソースファイルにある関数を呼び分ける
イントラマートのContentオブジェクトを使って、別のソースファイルにある関数を呼び分ける方法です。
イントラマートとは
株式会社NTTデータイントラマート社が開発・販売している、Webアプリケーションシステムのシステム共通基盤(統合型フレームワーク)で、国内の著名企業を中心に6,000社以上に導入されています。
イントラマートを導入することにより、Webシステム開発における短納期・低コスト・標準化推進・品質向上を実現できます。
詳しくはこちらをご覧ください。
イントラマートのContentオブジェクトを使って、別のソースファイルにある関数を呼び分ける
イントラマートのContentオブジェクトを使って、別のソースファイルにある「disp_log()」という関数を呼び分けます。
まずは呼び出し側から。
var logger = Logger.getLogger(); function init( request ) { var ret ; //別のソースファイル(common1.jsにある「disp_log」という関数を呼びます ret = Content.executeFunction( "common1", "disp_log", "abc", "123", 456 ) ; logger.debug( "common1 disp_log()の戻り値[" + ret + "]" ) ; //別のソースファイル(common2.jsにある「disp_log」という関数を呼びます ret = Content.executeFunction( "common2", "disp_log", "123", "abc", 321 ) ; logger.debug( "common2 disp_log()の戻り値[" + ret.ret + "]" ) ; }
common1.jsです。
var logger = Logger.getLogger(); function disp_log( para1, para2, para3 ) { logger.debug( "my filename=[common1.js] para1=[" + para1 + "] para2=[" + para2 + "] para3=[" + para3 + "]") ; return "12345" ; }
common2.jsです。(戻り値をObject型にしてみました。)
var logger = Logger.getLogger(); function disp_log( para1, para2, para3 ) { logger.debug( "my filename=[common2.js] para1=[" + para1 + "] para2=[" + para2 + "] para3=[" + para3 + "]") ; var ret = new Object() ; ret.ret = "abcd" ; return ret ; }
上手く使えばデザインパターンの「Template Methodパターン」なんかも実装できるかも知れません。