@Target(value=METHOD) @Retention(value=RUNTIME) @Documented public @interface Split
この演算子は、結合済みのデータを入力に取り、結合前のデータに分割してそれぞれ出力する。
一つのモデルオブジェクト型の引数と、二つの結果オブジェクト
の引数を取り、
抽象メソッドとして宣言する。
このメソッドはモデルオブジェクトの結合情報を元に、
結合前のモデルオブジェクトをそれぞれ返すようなプログラムを自動的に生成する。
ただし、分割対象のモデルがあらかじめ結合されたものであり、
かつ分割先がそれぞれ結合元のモデルである必要がある。
なお、この演算子メソッドには型引数を定義できない。
この注釈を付与するメソッドは、下記の要件を満たす必要がある。
void
を指定する Result
型の型引数に、一つ目の分割先のモデルオブジェクト型を指定した引数 Result
型の型引数に、二つ目の分割先のモデルオブジェクト型を指定した引数 abstract
例:
/**
* レコードHogeFooをHogeとFooに分割する。
* @param joined 分割するレコード
* @param hoge 分割後のHoge
* @param foo 分割後のFoo
*/
@Split
public abstract void split(HogeFoo joined, Result<Hoge> hoge, Result<Foo> foo);
Copyright © 2011–2018 Asakusa Framework Team. All rights reserved.