assertion
概要 アサーション失敗時の例外を、AssertionError から下記のように変更しました。 引数のアサーション失敗 java.lang.IllegalArgumentException 戻り値のアサーション失敗 java.lang.IllegalStateException リリース 0.0.19 意図 Error ではなく RuntimeEx…
概要 @Woven アノテーションを移動しました。 移動前 jp.objectfanatics.assertion.weaver.Woven 移動後 jp.objectfanatics.assertion.constraints.Woven リリース 0.0.18 意図 @Woven アノテーションは、ウィービング完了後に Weaver によって自動的に付与…
概要 バージョン 0.0.13 にて、メソッドのオーバーライドに制限を追加しました。この変更により、メソッドをオーバーライドする際に、オーバーライドする側がされる側と同様の制約アノテーションを持たない場合にはエラーになるようになりました。これはリス…
概要 バージョン 0.0.12 にて @Max および @Min アノテーションに以下の型のサポートを追加しました。 java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicLong - アノテーションによるアサーション(その1) アノテーションに…
概要 バージョン 0.0.10 にて、@Max および @Min アノテーションについて以下の変更を行いました。 サポート対象の型の追加 アノテーションに与える型の変更(不動小数点数サポートのため) サポート対象として追加された型 byte short float double Byte Sh…
2009.05.02 現在のバージョン(ver0.0.8) までは、アサーション用のバイトコードをインライン展開する形でバイトコードをウィービングしていました。理由は、そのほうが高速に動作すると考えたからです。しかし、アサーション用のコード全体が毎回ウィービン…
概要 バージョン 0.0.7 までは java6 以上のみのサポートでしたが、バージョン 0.0.8 にて java5 に対応しました。 - アノテーションによるアサーション(その1) アノテーションによるアサーション(その2 mavenプラグイン編) アノテーションによるアサ…
概要 バージョン 0.0.7 にて、アサーション用アノテーションに @NotEmpty を追加しました。 @NotEmptyアノテーション 対象がnullでない、かつ、空でないことを保証するためのアノテーションです。現在は、CharSequence(String や StringBuilder等), Collecti…
概要 バージョン 0.0.6 にて、アサーション用アノテーションに @Max と @Min を追加しました。 @Maxアノテーション 最大値を指定するアノテーションです。現在は、int, long, Integer, Long 型をサポートしています。 @Minアノテーション 最小値を指定するア…
以前、アノテーションによるアサーション(その2 mavenプラグイン編)に載せたサンプルの pom.xml に、pluginRepositories 要素が抜けていたためにうまく動かないという問題があったので、ページ上の pom.xml と サンプル を修正。 - アノテーションによる…
前回 概要 eclise 上で javaagent を使用してバイトコードにアサーション用コードを織り込みます。 必要なファイルの用意 前回の「java agent 用ファイルの配置」と同様の準備をします。 各実行毎に設定を行う場合 実行設定用のダイアログを表示。 例:main…
前回 概要 java agent を使用してバイトコードにアサーション用コードを織り込みます。 必要なファイルの用意 bytecode instrumentation に必要なファイル assertion-agent-all-0.0.8.jar @NotNull アノテーションや weaving を行うクラスが含まれる jar フ…
前回 概要 maven のプラグインを使用してバイトコードにアサーション用コードを織り込みます。 フェーズ maven のデフォルトライフサイクルでは、ソースコードは以下の2つのフェーズでコンパイルされます。 compile main 系のコードがコンパイルされる。 te…
概要 アノテーションでアサーションを行うライブラリを作成してみました。(最新バージョンはこちらから確認してください)。 機能 @NotNull アノテーションによる引数と戻り値の null チェック。 @Min アノテーションによる最小値の保証。(バージョン 0.0.5…