import java.io.IOException;

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

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

  /****************/
  /* PUBLIC FIELD */
  /****************/
  /**
   * アトムの値(変更できない)
   */
  public final long value;
  /**
   * トップレベルに出現可能か
   */
  public final boolean topLevel = false;

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

  /*****************/
  /* PUBLIC METHOD */
  /*****************/
  /**
   * 値を表す文字列を返す。
   */
  public String toString() {
    return String.valueOf(value); // 10進表示
    //return Long.toHexString(value); // 16進表示
  }

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

