Skip to content

Instantly share code, notes, and snippets.

@ashigeru
Created March 18, 2011 14:08
Show Gist options
  • Save ashigeru/876124 to your computer and use it in GitHub Desktop.
Save ashigeru/876124 to your computer and use it in GitHub Desktop.
modelgen2
# エンティティの定義
# これに対するクラスができる
Body = {
item_id : string;
price : decimal;
};
# 射影の定義
# これに対するインターフェースができる
@fragment Header = {
number : int;
line : int;
};
@fragment Footer = {
error_code : string;
};
# レコードの結合
# 射影のインターフェースを定義したクラスができる
# Header, FooterのサブタイプだがBodyのサブタイプにはならない
Detail = Header + Body + Footer;
# アドホックなレコードの拡張
# Detailにflagプロパティを追加し、さらにHeader, Footerのサブタイプ
DetailWithFlag = Detail + {
flag : string;
};
# ドキュメントを付けられる
[集計結果]
DocAmount = {
[合計]
total : decimal;
};
# 属性を付けられる
(table = "ATTR_AMOUNT")
AttrAmount = {
(column = "TOTAL")
total : decimal;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment