ch.kuramo.javie.api
クラス Time

java.lang.Object
  上位を拡張 ch.kuramo.javie.api.Time
すべての実装されたインタフェース:
java.lang.Comparable<Time>

public final class Time
extends java.lang.Object
implements java.lang.Comparable<Time>

Time クラスは時間を表現します。 ここでの「時間」とは、特定の時刻や時間の長さなどの複数の意味を含んでおり、 Time クラスが使われる文脈によってどの意味を指すかが異なります。

Time オブジェクトは、timeValuetimeScale の2つの値を保持します。timeValue は時間の値です。 timeScaletimeValue が表す値の単位で、 1秒あたりの timeValue の数です。したがって、timeValuetimeScale で割った値は秒単位の時間を表します。 timeValue は long 値、timeScale は int 値です。

Time オブジェクトは不変です。 Time オブジェクトは作成したあとに変更できないため、共用することができます。


フィールドの概要
static int COMMON_TIME_SCALE
          よく使用されるフレームレートで共通のタイムスケールです。
 int timeScale
          timeValue が表す値の単位です。
 long timeValue
          時間の値です。
 
コンストラクタの概要
Time(long timeValue, int timeScale)
          timeValuetimeScale の値を指定して Time オブジェクトを生成します。
 
メソッドの概要
 Time add(Time addend)
          この Time オブジェクトに引数 addend を加えた値を返します。
 boolean after(Time o)
          この Time オブジェクトが引数 o よりも後(未来の時刻、時間が長いなど)かどうかを判定します。
 boolean before(Time o)
          この Time オブジェクトが引数 o よりも前(過去の時刻、時間が短いなど)かどうかを判定します。
 int compareTo(Time o)
          順序付けのために、この Time オブジェクトと引数 o を比較します。
 boolean equals(java.lang.Object obj)
           
static Time fromFrameNumber(long frameNumber, Time frameDuration)
          フレーム番号 frameNumber のフレームが開始する時刻を返します。
 int hashCode()
           
 Time subtract(Time subtrahend)
          この Time オブジェクトから引数 subtrahend を引いた値を返します。
 long toFrameNumber(Time frameDuration)
          この Time オブジェクトが表す時刻におけるフレーム番号を返します。
 double toSecond()
          この Time オブジェクトが表す時間を、秒単位の値で返します。
 java.lang.String toString()
           
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

COMMON_TIME_SCALE

public static final int COMMON_TIME_SCALE
よく使用されるフレームレートで共通のタイムスケールです。 例えば 25fps, 29.97fps, 30fps, 59.94fps, 60fps などは、 このタイムスケールを使用して正確に時刻を表すことができます。

関連項目:
定数フィールド値

timeValue

public final long timeValue
時間の値です。


timeScale

public final int timeScale
timeValue が表す値の単位です。

コンストラクタの詳細

Time

public Time(long timeValue,
            int timeScale)
timeValuetimeScale の値を指定して Time オブジェクトを生成します。 timeScale120000 に変換可能な場合は変換します。

パラメータ:
timeValue - 時間の値
timeScale - timeValue が表す値の単位
メソッドの詳細

fromFrameNumber

public static Time fromFrameNumber(long frameNumber,
                                   Time frameDuration)
フレーム番号 frameNumber のフレームが開始する時刻を返します。 これは、フレーム番号 0 のフレームが開始する時刻を起点とし、 フレーム継続時間を frameDuration とした場合の値です。 frameNumber に負の値を指定することもできます。

パラメータ:
frameNumber - フレーム番号
frameDuration - フレーム継続時間
戻り値:
フレーム番号 frameNumber のフレームが開始する時刻

toFrameNumber

public long toFrameNumber(Time frameDuration)
この Time オブジェクトが表す時刻におけるフレーム番号を返します。 これは、フレーム番号 0 のフレームが開始する時刻を起点とし、 フレーム継続時間を frameDuration とした場合の値です。

パラメータ:
frameDuration - フレーム継続時間
戻り値:
この Time オブジェクトが表す時刻におけるフレーム番号

toSecond

public double toSecond()
この Time オブジェクトが表す時間を、秒単位の値で返します。

戻り値:
この Time オブジェクトが表す時間の秒単位の値

before

public boolean before(Time o)
この Time オブジェクトが引数 o よりも前(過去の時刻、時間が短いなど)かどうかを判定します。

パラメータ:
o - 比較対象の Time オブジェクト
戻り値:
この Time オブジェクトが引数 o よりも前の場合は true、そうでない場合は false

after

public boolean after(Time o)
この Time オブジェクトが引数 o よりも後(未来の時刻、時間が長いなど)かどうかを判定します。

パラメータ:
o - 比較対象の Time オブジェクト
戻り値:
この Time オブジェクトが引数 o よりも後の場合は true、そうでない場合は false

compareTo

public int compareTo(Time o)
順序付けのために、この Time オブジェクトと引数 o を比較します。

定義:
インタフェース java.lang.Comparable<Time> 内の compareTo
パラメータ:
o - 比較対象の Time オブジェクト
戻り値:
この Time オブジェクトと引数 o が等しい場合は 0、 この Time オブジェクトが引数 o より前の場合は 0 より小さい値、 この Time オブジェクトが引数 o より後の場合は 0 より大きい値

add

public Time add(Time addend)
この Time オブジェクトに引数 addend を加えた値を返します。 返される値の timeScale はこの Time オブジェクトの timeScale と同じになります。

パラメータ:
addend - この Time オブジェクトに加える値
戻り値:
この Time オブジェクトに引数 addend を加えた値

subtract

public Time subtract(Time subtrahend)
この Time オブジェクトから引数 subtrahend を引いた値を返します。 返される値の timeScale はこの Time オブジェクトの timeScale と同じになります。

パラメータ:
subtrahend - この Time オブジェクトから引く値
戻り値:
この Time オブジェクトから引数 subtrahend を引いた値

hashCode

public int hashCode()
オーバーライド:
クラス java.lang.Object 内の hashCode

equals

public boolean equals(java.lang.Object obj)
オーバーライド:
クラス java.lang.Object 内の equals

toString

public java.lang.String toString()
オーバーライド:
クラス java.lang.Object 内の toString