Java

 新しいJavaの仕様にこんなのが提案されているらしい

@Nonnull: nullを許容しない 
@Nullable: nullを許容する 
@CheckForNull: nullになる可能性を考慮してチェックを促す 
@Nonnegative: 負数を許容しない 
@Signed: 符合付き数値のみ許可 
@CheckForNegative: 負数になる可能性を考慮してチェックを促す 
@Positive: 正数のみ許可 
@CheckForNonpositive: 正数で無い可能性を考慮してチェックを促す 
@CheckReturnValue: メソッドの戻り値をチェック 
@Nls: 自然言語の文字列のみ許可 
@NonNls: 自然言語でない文字列のみ許可 
@Syntax: シンタックスを指定(たとえば"JavaScript"など) 
@Pattern: 文字列のパターンを指定 
@RegEx: 正規表現の文字列のみ許可 
@ResultSetType: ResultSetのタイプを示す値のみ許可 
@ResultSetConcurrency: ResultSetの並行処理モードを示す値のみ許可 
@ResultSetHoldability: ResultSetの保持機能モードを示す値のみ許可 
@InjectionAnnotation: あるアノテーションがリソースインジェクションのためのものであることを示す 

http://journal.mycom.co.jp/column/jsr/016/index.html

 これは強力そうですのう。やばいですな。これがJavaに実装されて、さらにクロージャまで出来たらちょっと日記タイトルから変わるかも。Java大好きharuyutakaさんに転向するかも。