S-JIS[2011-09-04] 変更履歴

AfwHS Key

Asakusa FrameworkScalaで記述 するAfwHS α版のKeyについて。

  • AsakusaFWのKey注釈

概要

AfwHSのKeyクラスは、AsakusaFWのKeyアノテーションを模したもの。
集約キーやマッチングキーを指定するのに使う。

case class Key(group: Seq[String], order: Seq[String] = Seq.empty)

↓AsakusaFWの@Key

@Key(group = { "プロパティー名",… }, order = { "プロパティー名",… })

※現状のAfwHSではorderは指定できるけど使ってない^^;


Keyの使用例

import jp.hishidama.afwhs._
備考
Key(group = Seq("key1","key2"))
最も素直な使い方。
Scala2.8以降では引数名を指定して値を渡せるので、アノテーションっぽい記述が出来る。
orderはデフォルト引数が定義されているので、指定する必要は無い。
Key(group = "key1,key2")
SeqでなくStringで渡せるようなコンストラクターが用意されているので、文字列で渡せる。
しかもカンマ区切りで分割する(という余計なw)機能も付けてある。
Key("key1,key2")
引数名を指定しない書き方も出来る。
cogroup("name", Key(group=Seq("word")), 〜
cogroup("name", Key(group="word"), 〜
cogroup("name", Key("word"), 〜
cogroup("name", "word", 〜
cogroupのようにKeyを引数にとる場合、Stringからの暗黙変換が使える。
つまり"word"という指定があったら、Key("word")を意味する。
(この暗黙変換はafwhsのパッケージオブジェクトで定義されている)

使用方法へ戻る / AfwHS目次へ戻る / AsakusaFWへ戻る / 技術メモへ戻る
メールの送信先:ひしだま