エラー・タイプの作成

コアのパフォーマンス・テスト・モデルには汎用の CBError オブジェクトが含まれています。CBError オブジェクトは、実際のエラー、CBErrorType オブジェクトが含まれているシェルです。CBErrorType オブジェクトを拡張して、プロトコル固有のエラーなどの新しいタイプのエラーを追加します。 CBErrorBehaviorEnum オブジェクトを使用することによって、エラー処理動作をエラーと関連付けます。

以下のコードは、汎用エラー・オブジェクトから新しいプロトコル・エラー・タイプを作成する例です。

public abstract class ProtocolErrorTypeImpl extends CBErrorTypeImpl implements ProtocolErrorType {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ProtocolErrorTypeImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EClass eStaticClass() {
		return ErrorsPackage.Literals.PROTOCOL_ERROR_TYPE;
	}
	
	public boolean isErrorGenerator(){
		return true;
	}
	

	/** 
	 * Imports needed at code generation time 
	 * so that the test runs correctly.
	 */
	public List<String> getExecImport() {
		ArrayList<String> imports = new ArrayList<String>();
		imports.add("import com.ibm.rational.test.lt.execution.protocol.tes.*;");
		imports.add("import com.ibm.rational.test.lt.kernel.action.impl.KThrow;");
		imports.add("import com.ibm.rational.test.lt.kernel.services.*;");
		return imports;
	}
} //ProtocolErrorTypeImpl

以下のコードは、あるプロトコル・エラー・タイプから別のプロトコル・エラー・タイプを作成する例です。

public class ProtocolNewErrorTypeImpl extends ProtocolErrorTypeImpl implements ProtocolNewErrorType {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ProtocolNewErrorTypeImpl() {
		super();
		
	}
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected EClass eStaticClass() {
		return ErrorsPackage.Literals.PROTOCOL_NEW_ERROR_TYPE;
	}

	public String getExecType(){
		return "ProtocolNewEvent" ;
	}
} //ProtocolNewErrorTypeImpl

エラーを生成するモデル・エレメントの場合、以下のコードを使用して、これらのエレメントをエラー・ジェネレーターとして宣言します。

public boolean isErrorGenerator(){
		return true;
}

フィードバック