1 package jp.ac.aiit.xdf.application.interceptors;
5 import jp.ac.aiit.xdf.application.Application;
6 import jp.ac.aiit.xdf.core.action.Action;
7 import jp.ac.aiit.xdf.core.action.factory.ActionFactory;
8 import jp.ac.aiit.xdf.core.model.ObjectModel;
9 import jp.ac.aiit.xdf.core.selector.Selector;
12 * 画面定義XMLに記述されたアクションの設定に基づき、コンポーネントとアクションの結びつけを行う。
16 public class ActionInterceptor implements UIDesignInterceptor {
19 public void intercept(UIDesignResource resource) {
21 ObjectModel om = resource.getModel();
25 private void parseAction(ObjectModel rootModel) {
26 ActionFactory factory = Application.getInstance().getActionFactory();
28 for(ObjectModel actionModel : Selector.find("action", rootModel)) {
30 if( actionModel.hasAttr("target") ) {
31 Action action = factory.createAction( (String) actionModel.attr("classname") );
32 String event = (String)actionModel.attr("event");
34 String targetSelector = (String) actionModel.attr("target");
35 for(ObjectModel target : Selector.find(targetSelector, rootModel) ) {
36 target.setAction(action, event);