[mayaa-user:888] Re: PathAdjusterの挙動について

Susumu ISHIGAMI [E-MAIL ADDRESS DELETED]
2010年 1月 17日 (日) 14:43:23 JST


石上です。

大変遅くなってしまいましたが、下記の件、
CycleUtil.getServiceCycle().getProcessor()  == null


2009年12月27日13:24 suga <[E-MAIL ADDRESS DELETED]>:
> suga です。
>
> 2009/12/18 Susumu ISHIGAMI <[E-MAIL ADDRESS DELETED]>:
>>> PathAdjuster はビルド時に呼ばれるものであり、「使い回す」のではなく
>>> 「テンプレートにそう記述されていたことにする」ものです。
>>> このためレンダリングのパフォーマンスに影響を与えることなく
>>> 絶対パスへの置き換えが可能です。
>
> すみません、確かにこの点に関して説明に誤りがありました。
> m:attribute の場合、レンダリング時に動作します。
>
> これは、複数のパスから利用されるコンポーネントの場合に
> ./images/${name}_icon.png
> などスクリプトの出力結果をレンダリングパスからの相対パスに設定することを
> 想定した機能で、スクリプトの実行結果に対してのパス調整になりますので、ここで
> ${} を出力しても、ただの文字列になります。
>
>
> ということで、現状では石上さんのされている方法か、
>> PathAdjuster側では、
>> "http:", "https:", "file:", "/"で始まる場合は、
>> そのままリターンするという実装にしています。
>
>
> InjectedNode の isOnTemplate 判定する方法です。
>
>> PathAdjusterで、テンプレート側から呼ばれたのか、mayaaファイルから呼ばれたのか
>> 制御できても良いと思います。isOnTemplate()は違うようですね?
>
> CycleUtil.getServiceCycle().getInjectedNode().isOnTemplate() が true なら
> m:attribute が無くテンプレートのみのもの、false なら m:attribute で
> 変更する属性です。
> 後者の場合、対応するテンプレートの属性、m:attribute の属性それぞれで
> false の判定になりますので、元々の値が何か処理に影響する場合には
> ちょっと工夫が必要かもしれません。
>
> もうひとつ、CycleUtil.getServiceCycle().getProcessor() が null なら
> ビルド時、null でなければ描画時、という判定も可能です。
>
>
> 標準機能として m:attribute の場合のみの動作を作るかどうかは、
> 要望が多ければということにしたいと思います。
> するとすれば m:attribute の処理を細分化してカスタマイズ可能にする
> ような形になるでしょう。
>
>
> --
> suga ( [E-MAIL ADDRESS DELETED] )
> _______________________________________________
> mayaa-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/mayaa-user
>


mayaa-user メーリングリストの案内