import java.io.IOException;

/**
 * double型の値を持つアトム
 */

public final class DoubleAtom extends Cell implements java.io.Serializable {

  /****************/
  /* PUBLIC FIELD */
  /****************/
  /**
   * アトムの値(変更不可)
   */
  public final double value;

  /***************/
  /* CONSTRUCTOR */
  /***************/
  /**
   * 実際のインスタンス生成には、Listクラスのユーティリティ・メソッド atom()を使う。
   */
  DoubleAtom(double v) {
    value = v;
  }

  /*****************/
  /* PUBLIC METHOD */
  /*****************/
  /**
   * 値を表す文字列を返す。
   * @return		自身の文字列表現
   */
  public String toString() {
    return String.valueOf(value);
  }

  /******************/
  /* PRIVATE METHOD */
  /******************/
  /**
   * オブジェクト入力ストリームからのオブジェクト入力処理を行う。
   * @param in		オブジェクト入力ストリーム
   */
  private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
    in.defaultReadObject();	// フィールドの設定を行う。
    List.entryDoubleAtom(this);	// ハッシュテーブルに登録する。
  }

}

