/**
 * RoutingHistory
 * 探索履歴を管理するオブジェクト
 */
package org.logical_paradox.rss.router.algorithm;

import java.util.HashSet;

public class RoutingHistory {
	private HashSet tracedURLs = null;

	/**
	 * デフォルトコンストラクタ
	 */
	public RoutingHistory() {
		tracedURLs = new HashSet();
	}

	/**
	 * コピーコンストラクタ
	 */
	public RoutingHistory( RoutingHistory r ) {
		tracedURLs = (HashSet)r.tracedURLs.clone();
	}

	/**
	 * 指定されたURLを既に探索したかどうかを返す
 	 */
	public boolean isTraced( String url ) {
		return tracedURLs.contains( url );
	}

	/**
	 * 探索済みのURLを追加する
	 */
	public void add( String url ) {
		tracedURLs.add( url );
	}

	/**
	 * 探索済みのURLを削除する
	 * 過去の探索をなかったことにしたい場合に使用する
	 */
	public void remove( String url ) {
		tracedURLs.remove( url );
	}
}

// end of RoutingHistory.java
