概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## ts.util
クラス CountRotate

    java.lang.Object
      ts.util.CountRotate

    public class CountRotate

extends java.lang.Object

循環カウンタクラス。
カウンタの値を保持し、それを一つずつ加算していくためのメソッドを 用意している。 カウンタの初期値、下限値、上限値は、デフォルトでは 0、`Long.MIN_VALUE`、`Long.MAX_VALUE` に設定されるが、コンストラクタで任意の値を指定することもできる。
カウンタは1ずつ加算されるが、最大値に至ったところでさらに加算すると 最小値に設定され、カウンタの値は循環する。
このクラスの直接のインスタンスはマルチスレッドに対応していないが、 `synchronizedCountRotate()`メソッドを使用して、 スレッドセーフなインスタンスを作成することができる。

バージョン:
  $Revision: 1.1.1.1 $, $Date: 2010-10-16 00:03:43 $
作成者:
  佐藤隆之.

コンストラクタの概要
`CountRotate()` デフォルトコンストラクタ。
`CountRotate(long init)` カウンタの初期値を引数にとるコンストラクタ。
`CountRotate(long init, long min, long max)` カウンタの初期値、下限値、上限値を引数にとるコンストラクタ。

メソッドの概要
`long` | `currentValue()` 現在のカウンタ値を取得する。
`long` | `increment()` カウンタを一つ加算する。
`static CountRotate` | `synchronizedCountRotate()` スレッドセーフな循環カウンタオブジェクトを生成する。
`static CountRotate` | `synchronizedCountRotate(CountRotate c)` 指定された循環カウンタオブジェクトの現在の値を使用して、スレッドセーフな 循環カウンタオブジェクトを新たに生成する。
`static CountRotate` | `synchronizedCountRotate(long init)` カウンタの初期値を指定してスレッドセーフな循環カウンタオブジェクトを 生成する。
`static CountRotate` | `synchronizedCountRotate(long init, long min, long max)` カウンタの初期値、下限値、上限値を指定してスレッドセーフな 循環カウンタオブジェクトを生成する。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### CountRotate

    public CountRotate()

  デフォルトコンストラクタ。
  カウンタの初期値をゼロ、下限値を`Long.MIN_VALUE`、 上限値を`Long.MAX_VALUE`に設定する。

### CountRotate

    public CountRotate(long init)

  カウンタの初期値を引数にとるコンストラクタ。
  カウンタの下限値を`Long.MIN_VALUE`、 上限値を`Long.MAX_VALUE`に設定する。

  パラメータ:
    `init` - カウンタの初期値。

### CountRotate

    public CountRotate(long init,
                       long min,
                       long max)

  カウンタの初期値、下限値、上限値を引数にとるコンストラクタ。
  初期値が下限値より小さい場合は、初期値を下限値に設定する。 初期値が上限値より大きい場合は、初期値を上限値に設定する。 下限値と上限値の大小関係が逆の場合は、お互いに値を入れ替える。

  パラメータ:
    `init` - カウンタの初期値。
    `min` - カウンタの下限値。
    `max` - カウンタの上限値。

メソッドの詳細

### currentValue

    public long currentValue()

  現在のカウンタ値を取得する。

  戻り値:
    現在のカウンタ値。

### increment

    public long increment()

  カウンタを一つ加算する。
  加算する前のカウンタ値が最大値`Long.MAX_VALUE`の場合は、 加算した後`Long.MIN_VALUE`になる。

  戻り値:
    加算後のカウンタの値。

### synchronizedCountRotate

    public static CountRotate synchronizedCountRotate()

  スレッドセーフな循環カウンタオブジェクトを生成する。
  カウンタの初期値はゼロとする。

  戻り値:
    スレッドセーフな循環カウンタオブジェクト。

### synchronizedCountRotate

    public static CountRotate synchronizedCountRotate(long init)

  カウンタの初期値を指定してスレッドセーフな循環カウンタオブジェクトを 生成する。

  パラメータ:
    `init` - カウンタの初期値。
  戻り値:
    スレッドセーフな循環カウンタオブジェクト。

### synchronizedCountRotate

    public static CountRotate synchronizedCountRotate(long init,
                                                      long min,
                                                      long max)

  カウンタの初期値、下限値、上限値を指定してスレッドセーフな 循環カウンタオブジェクトを生成する。

  パラメータ:
    `init` - カウンタの初期値。
    `min` - カウンタの下限値。
    `max` - カウンタの上限値。
  戻り値:
    スレッドセーフな循環カウンタオブジェクト。

### synchronizedCountRotate

    public static CountRotate synchronizedCountRotate(CountRotate c)

  指定された循環カウンタオブジェクトの現在の値を使用して、スレッドセーフな 循環カウンタオブジェクトを新たに生成する。

  パラメータ:
    `c` - 元になる循環カウンタオブジェクト。
  戻り値:
    スレッドセーフな循環カウンタオブジェクト。
  例外:
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright (C) SATOH Takayuki All Rights Reserved.