XHandler Reference

XHandler

What

XHandler はハンドラ名を文字列で指定してハンドラを実行する為の AppleScript ライブラリです。

その他に、次のことができます。

実行中にハンドラを柔軟に切り替えることができ、Chain of Responder や method forwarding など、動的な振る舞いの実現に訳にたちます。

AppleScript の言語レベルではサポートされていない機能を実現する AppleScript ライブラリです。

positional parameter を持ったハンドラならどんな物でも実行できます。残念ながら labeled parameter を持ったハンドラは実行できません。

Sample

use XHandler : script "XHandler"

script BScript
on say_msg(a_msg)
return "hey " & a_msg
end say_msg
end script

script AScript
on show_msg(a_msg)
return "hello " & a_msg
end show_msg

-- successor object to foward calling handlers which are not implemented.
on successor()
return BScript
end successor
end script

(*== Simply calling handler ==*)
set xhandler1 to XHandler's make_with("show_msg", 1)
log xhandler1's do(AScript, "good morning") -- hello good morning

(*== Test whether AScript can respont to the handler "show_msg" ==*)
log xhandler1's responded_by(AScript) -- true

(*== If target object can't resond to the handler, try to call handler in a successr object . ==*)
set xhandler2 to XHandler's make_with("say_msg", 1)
log xhandler2's call_to(AScript, "good evening") -- "hey good evening"
XHandler Reference