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

# クラス TimeStampObject

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

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

class TimeStampObject extends Object implements Comparable<TimeStampObject>
TimeStampObject は、生成された Object を、生成時刻とともに管理するクラスです。 内部のハッシュキーは、登録するオブジェクトと同一で、管理できるのは、異なるオブジェクト のみです。

導入されたバージョン:
  JDK5.0,

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

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `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 はセットできません。
    変更履歴:
      8.4.2.2 (2023/03/17) ﾊｯｼｭｺｰﾄﾞ求めに、java.util.Objects#hash を使用します。

- ## メソッドの詳細

  - ### 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:異なる。
    変更履歴:
      8.4.2.2 (2023/03/17) ﾊｯｼｭｺｰﾄﾞ求めに対応した、equals に変更します。

  - ### hashCode

    public int hashCode()
    ハッシュコードを返します。 ここで返すのは、自分自身のハッシュコードではなく、 内部管理のオブジェクトのハッシュコードです。 hashcode = (int)((timeStamp)&(Integer.MAX_VALUE))^(obj.hashCode()) hcode = Objects.hash( objStr, Long.valueOf( timeStamp ) ); この計算式は、変更される可能性があります。
    オーバーライド:
      `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を返しません