Java 2 SDK 開発ガイド (Solaris 編)

プログラムによるアサーションの有効化および無効化

ほとんどのプログラマは次の方法を使用する必要はありません。次の方法は、インタプリタまたは他の実行環境を作成するために提供されています。

クラスローダに対するデフォルトのアサーション状態の設定

各クラスローダは、この後でクラスローダが初期化する新しいクラスにおいて、アサーションをデフォルトで有効または無効にするかを決定する「デフォルトのアサーション状態 (boolean 値)」を持っています。デフォルトでは、新たに作成されるクラスローダのアサーション状態は false (無効) です。次のように新しいメソッドをクラス ClassLoader で呼び出すことによって、この状態はいつでも変更できます。

public void setDefaultAssertionStatus(boolean enabled)

クラスがロードされるとき、そのクラスローダにクラスのパッケージ名またはそのクラス名のアサーション状態に関する特別な命令が (後述する ClassLoader の 2 つの新しいメソッドのどちらかにより) 指定されている場合、このような命令はクラスローダのデフォルトのアサーション状態よりも優先されます。そうでない場合、クラスのアサーションはそのクラスローダのデフォルトのアサーション状態に指定されているとおりに有効または無効になります。

パッケージおよびそのサブパッケージに対するアサーション状態の設定

次の方法を使用すると、パッケージごとにデフォルトのアサーション状態を設定できます。パッケージごとにデフォルトのアサーション状態を設定する場合、実際には、パッケージおよびそのサブパッケージに適用されることに注意してください。

public void setPackageAssertionStatus(String packageName, boolean enabled);

クラスおよびその入れ子クラスに対するアサーション状態の設定

次の方法を使用すると、クラスごとにアサーション状態を設定できます。

public void setClassAssertionStatus(string className, boolean enabled);

クラスローダのデフォルトのアサーション状態へのリセット

次の方法を使用すると、クラスローダに関連するすべてのアサーション状態の設定をクリアできます。

public void clearAssertStatus();