/**
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2004 satoshi akabane(akabane@logical-paradox.org)
 *
 */
package org.logical_paradox.rss.rcm.accessor.simple;

import org.logical_paradox.common.io.ByteStream;

/**
 * コンテンツデータをバイト列に変換するためのインターフェース
 * 
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.2 $
 */
public class ContentsByteStream implements ByteStream {
	/** シリアルバージョンUID */
	private static final long serialVersionUID = 1870989103538686589L;
	/** バイト列 */
	private byte[] bstream;

	/**
	 * コンストラクタ
	 * @param bs gzip圧縮されたコンテンツのバイト列
	 */
	public ContentsByteStream(byte[] bs) {
		bstream = bs;
	}

	/**
	 * このデータのバイト列表現を返す
	 * もともとバイト列なので，そのまま返すだけ
	 * 
	 * @return バイト列
	 */
	public byte[] byteStream() {
		return bstream;
	}
	public boolean equals(Object o) {
		// インスタンスの比較
		if(o instanceof ContentsByteStream == false) {
			return false;
		}

		// バイト列を文字列にしてみて比較する
		ContentsByteStream cbs = (ContentsByteStream)o;
		if(new String(bstream).equals(new String(cbs.byteStream())) == false) {
			return false;
		}
		return true;
	}
}
