検証ロジックを実装する方法の1つは、setterメソッドで検証を強制実行することです。setterメソッドは通常、エンティティ・オブジェクトの各属性に対して生成されます。ただし、次の場合にはsetterメソッドは生成されません。
setterメソッドを生成する方法は、「アクセッサ・メソッドの生成」を参照してください。
検証ロジックをsetterメソッドに実装するには、次のようにします。
次のメソッドの例では、配布IDの設定前に一意のキー値が必要であるという規則が実行されます。値が一意でない場合、メソッドにより例外がスローされます。それ以外の場合は、検証プロセスが続行されます。
public void setDistributionId(Number quantity) {
Object[] reqDistKey = new Object[1];
reqDistKey[0] = this.distId;
// If the key exists, then it's not unique.
if (getDefinitionObject()
.findInstance((ApplicationModuleImpl)getApplicationModule(),
new Key(reqDistKey)) != null ){
throw new JboException("Must be unique");
}
// Generated calls follow.
setAttributeInternal( DISTRIBUTIONID, quantity );
}
Copyright © 1997, 2007, Oracle. All rights reserved.