目的別のイディオム。
目的別のイディオムを以下に示す。
目的イディオム
複数の ResourceBundle を読み込む new ConfigSerial(
  ConfigConstants.MAKE_MAP,
  new PutResourceBundle("mypackage.myconfig0"),
  new PutResourceBundle("mypackage.myconfig1")
)
セレクトでデフォルト選択値にのみスタイルを定義する new XPath(new JXP("//OPTION[@selected]"), new UpdateAttrValue("class", new FixEL("myclass")))
ラジオボタン・チェックボックスでデフォルト選択値にのみスタイルを定義する new XPath(new JXP("//INPUT[@checked]"), new UpdateAttrValue("class", new FixEL("myclass")))
Seasar2 のコンポーネントを取得する(2.4.0 beta 4) final DomContext context = new DomContext();
context.setContainer(SingletonS2ContainerFactory.getContainer());
new OGE("container.myComponent.myMethod()").getValue(context);
ラジオボタン・チェックボックスの再生成する(プロパティ名を指定する場合はダミー識別子を使用せずに不要な部品を削除することが可能) new XPath(new JXP("name", "name0"), new MakeRadio(new PathEL("config.name0")), HtmlConstants.REMOVE_THIS_AND_TEXTS)
ActionDef で比較判定を定義する new ActionDef(
    new OGE("container.component0.executeInt() <= 5"),
    new ForwardDef("forwardIdTrue", new PathEL("container.component0"), new ForwardMatcher(Boolean.TRUE)),
    new ForwardDef("forwardIdFalse", new PathEL("container.component0"), new ForwardMatcher(Boolean.FALSE))
プリミティブ型で null とみなした値を削除する new XPath(new JXP("//INPUT[@name=\"age\" and @value=\"-1\"]"), new RemoveAttr("value"))
一定の単位でコンストラクタツリーを分割する final DomExpression function0 = ...;
final DomExpression function1 = ...;
final DomExpression marge = new Serial(
  new If(new EvalIdRegExp("function0_.*"), function0),
  new If(new EvalIdRegExp("function1_.*"), function1)
);
コンストラクタツリーの生成に XML を使用する // Seasar2 の dicon 定義を使用する。主にコンストラクタインジェクションを用いる。Seasar2 ではコンポーネントの入れ子が可能であるため、設定の構造化が維持される。
トップに戻る
Copyright (C) 2006 Takahiro Nakamura. All rights reserved.