/*
 * Copyright (C) 2005-2006 Kouji Sugisawa. All rights reserved.
 */

package jp.sourceforge.livez.ezweb;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 * EZappli の実装クラスです。
 * 
 * @author 杉澤 浩二
 */
final class EZappliImpl implements EZappli {

	private static final long serialVersionUID = 1L;

	/**
	 * コンストラクタです。
	 * 
	 * @param m
	 */
	public EZappliImpl(final EZwebMultiMedia m) {
		this.javaStatus = m.getJava();
		this.brewStatus = m.getBrew();
	}

	/**
	 * EZアプリ(Java)対応状況を保持します。
	 */
	private int javaStatus = 0;

	/*
	 * @see jp.sourceforge.livez.ezweb.EZappli#getJavaStatus()
	 */
	public int getJavaStatus() {
		return javaStatus;
	}

	/**
	 * EZアプリ(BREW) 対応状況を保持します。
	 */
	private int brewStatus = 0;

	/*
	 * @see jp.sourceforge.livez.ezweb.EZappli#getBrewStatus()
	 */
	public int getBrewStatus() {
		return brewStatus;
	}

	@Override
	public int hashCode() {
		return HashCodeBuilder.reflectionHashCode(this);
	}

	@Override
	public boolean equals(final Object obj) {
		return EqualsBuilder.reflectionEquals(this, obj);
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
	}

}
