/*
 * MockAccessorThrowException.java
 * Copyright (C) 2008 Cyber Beans Corporation. All rights reserved.
 */
package jp.co.cybec.cb3.mock.accessor;

import jp.co.cybec.cb3.accessor.Accessor;
import jp.co.cybec.cb3.accessor.AccessorsLifeCycle;
import jp.co.cybec.cb3.exception.AccessorUnknownException;

/**
 * アクセッサのモック。
 * @author Naoko Sugimoto
 */
public class MockAccessorThrowException implements Accessor, AccessorsLifeCycle {

	/** テストで発生させる例外 */
	private RuntimeException exception = new AccessorUnknownException("例外のテストです。");

	/**
	 * アクセッサの初期化処理です。
	 * このモックでは、常に例外を送出します。
	 * @param key アクセッサのキー
	 */
	public void initialize(String key) {
		throw exception;
	}

	/**
	 * アクセッサの終了処理です。
	 * このモックでは、常に例外を送出します。
	 */
	public void release() {
		throw exception;
	}

	/**
	 * テストで発生させる例外を設定します。
	 * @param e 例外
	 */
	public void setException(RuntimeException e) {
		exception = e;
	}

}
