パッケージ org.opengion.fukurou.util

## クラス TimeStampObject

- java.lang.Object
- - org.opengion.fukurou.util.TimeStampObject

- すべての実装されたインタフェース:
    `Comparable<TimeStampObject>`

      class TimeStampObject
      extends Object
      implements Comparable<TimeStampObject>

  TimeStampObject は、生成された Object を、生成時刻とともに管理するクラスです。 内部のハッシュキーは、登録するオブジェクトと同一で、管理できるのは、異なるオブジェクト のみです。
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `TimeStampObject​(Object obj, int limit)` | コンストラクター。

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `int` | `compareTo​(TimeStampObject other)` | このオブジェクトと指定されたオブジェクトの順序を比較します。
    `boolean` | `equals​(Object obj)` | オブジェクトが同じかどうかを判定します。
    `long` | `getTimeStamp()` | 内部管理しているオブジェクトの生成時刻を返します。
    `int` | `hashCode()` | ハッシュコードを返します。
    `boolean` | `isTimeOver()` | オブジェクトの寿命がきたかどうかを返します。
    `String` | `toString()` | このオブジェクトの内部表現を返します。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### TimeStampObject

          public TimeStampObject​(Object obj,
                                 int limit)

      コンストラクター。
      パラメータ:
        `obj` - 管理するオブジェクト
        `limit` - オブジェクトの寿命(秒)
      例外:
        `IllegalArgumentException` - TimeStampObject のインスタンスに、NULL はセットできません。

  - ### メソッドの詳細

    - #### getTimeStamp

          public long getTimeStamp()

      内部管理しているオブジェクトの生成時刻を返します。
      戻り値:
        生成時刻(ms)

    - #### isTimeOver

          public boolean isTimeOver()

      オブジェクトの寿命がきたかどうかを返します。
      戻り値:
        寿命判定(true:寿命/false:まだ使える)

    - #### equals

          public boolean equals​(Object obj)

      オブジェクトが同じかどうかを判定します。 内部オブジェクトの equals() メソッドと、作成時刻の両方を判断します。 内部オブジェクトの equals() が同じでも、作成時刻が異なると、 false を返します。これは、全く同一オブジェクトを管理する場合でも、 タイムスタンプを差し替える事で、異なるオブジェクトとして 認識させるということです。
      オーバーライド:
        `equals` クラス内 `Object`
      パラメータ:
        `obj` - オブジェクト
      戻り値:
        true:同じ/false:異なる。

    - #### hashCode

          public int hashCode()

      ハッシュコードを返します。 ここで返すのは、自分自身のハッシュコードではなく、 内部管理のオブジェクトのハッシュコードです。 hashcode = (int)((timeStamp)&(Integer.MAX_VALUE))^(obj.hashCode()) この計算式は、変更される可能性があります。
      オーバーライド:
        `hashCode` クラス内 `Object`
      戻り値:
        内部管理のオブジェクトのハッシュコード

    - #### compareTo

          public int compareTo​(TimeStampObject other)

      このオブジェクトと指定されたオブジェクトの順序を比較します。 このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、 等しい場合はゼロ、大きい場合は正の整数を返します。
      定義:
        `compareTo` インタフェース内 `Comparable<TimeStampObject>`
      パラメータ:
        `other` - TimeStampObject オブジェクト
      戻り値:
        順序比較の値
      例外:
        `ClassCastException` - 指定されたオブジェクトがキャストできない場合。
      関連項目:
        `Comparable.compareTo(Object)`

    - #### toString

          public String toString()

      このオブジェクトの内部表現を返します。
      オーバーライド:
        `toString` クラス内 `Object`
      戻り値:
        オブジェクトの内部表現文字列
      変更履歴:
        5.5.7.2 (2012/10/09) HybsDateUtil を利用するように修正します。
      このメソッドは、nullを返しません