パッケージ com.lmt.lib.bms

クラス BmsAddress

  • すべての実装されたインタフェース:
    BmsAt, BmsChx, Comparable<BmsAddress>
    直系の既知のサブクラス:
    BmsElement

    public class BmsAddress
    extends Object
    implements BmsAt, BmsChx, Comparable<BmsAddress>
    タイムラインにおける完全な位置を表すクラスです。

    楽曲位置(BmsAt)、およびCHX(BmsChx)の両方を解決すると、タイムライン上での完全な位置を表します。 BMSライブラリでは、この位置のことをタイムラインの「アドレス」と呼称します。

    当クラスはアドレスを表現するために必要な最低限の情報を保有し、必要な機能を提供します。

    このクラスの情報は一度インスタンスを生成すると以後の情報の変更はできません。異なるアドレスを表したい場合には 新しく別のインスタンスを生成する必要があります。

    関連項目:
    BmsAt, BmsChx
    • コンストラクタの概要

      コンストラクタ 
      コンストラクタ 説明
      BmsAddress()
      新しいアドレスオブジェクトを構築します。
      BmsAddress​(int measure, double tick, int channel, int index)
      指定された楽曲位置、CHXで新しいアドレスオブジェクトを構築します。
      BmsAddress​(BmsAddress adr)
      指定されたアドレスと同じ新しいアドレスオブジェクトを構築します。
      BmsAddress​(BmsAt at, BmsChx chx)
      指定された楽曲位置、CHXで新しいアドレスオブジェクトを構築します。
    • コンストラクタの詳細

      • BmsAddress

        public BmsAddress()
        新しいアドレスオブジェクトを構築します。
      • BmsAddress

        public BmsAddress​(BmsAddress adr)
        指定されたアドレスと同じ新しいアドレスオブジェクトを構築します。
        パラメータ:
        adr - アドレス
        例外:
        NullPointerException - adrがnull
      • BmsAddress

        public BmsAddress​(BmsAt at,
                          BmsChx chx)
        指定された楽曲位置、CHXで新しいアドレスオブジェクトを構築します。
        パラメータ:
        at - 楽曲位置
        chx - CHX
        例外:
        NullPointerException - atまたはchxがnull
      • BmsAddress

        public BmsAddress​(int measure,
                          double tick,
                          int channel,
                          int index)
        指定された楽曲位置、CHXで新しいアドレスオブジェクトを構築します。
        パラメータ:
        measure - 小節番号
        tick - 小節の刻み位置
        channel - チャンネル番号
        index - チャンネルインデックス
    • メソッドの詳細

      • getMeasure

        public int getMeasure()
        小節番号を取得します。
        定義:
        getMeasure インタフェース内 BmsAt
        戻り値:
        小節番号
      • getTick

        public double getTick()
        小節の刻み位置を取得します。
        定義:
        getTick インタフェース内 BmsAt
        戻り値:
        小節の刻み位置
      • getChannel

        public int getChannel()
        チャンネル番号を取得します。
        定義:
        getChannel インタフェース内 BmsChx
        戻り値:
        チャンネル番号
      • getIndex

        public int getIndex()
        チャンネルインデックスを取得します。
        定義:
        getIndex インタフェース内 BmsChx
        戻り値:
        チャンネルインデックス
      • equals

        public boolean equals​(Object obj)
        アドレスの比較を行います。

        比較対象オブジェクトをBmsAddressにキャストできない場合、当メソッドはfalseを返します。

        オーバーライド:
        equals クラス内 Object
        パラメータ:
        obj - 比較対象オブジェクト
        戻り値:
        このオブジェクトと比較対象オブジェクトのアドレスが同一の場合true
      • hashCode

        public int hashCode()
        ハッシュコード値を生成します。
        オーバーライド:
        hashCode クラス内 Object
        戻り値:
        ハッシュコード値
      • toString

        public String toString()
        アドレスの文字列表現を返します。
        オーバーライド:
        toString クラス内 Object
        戻り値:
        アドレスの文字列表現
      • equals

        public static boolean equals​(BmsAddress adr1,
                                     BmsAddress adr2)
        2つのアドレスを比較し、同一アドレスかどうかを判定します。
        パラメータ:
        adr1 - アドレス1
        adr2 - アドレス2
        戻り値:
        2つのアドレスが同一の場合true
        例外:
        NullPointerException - adr1またはadr2がnull
      • compare

        public static int compare​(BmsAddress adr1,
                                  BmsAddress adr2)
        2つのアドレスを比較します。

        アドレスの比較では、最初に楽曲位置の比較を行います。楽曲位置が進行するほど大きい値として評価します。 楽曲位置が同一の場合に、CHXの比較を行います。楽曲位置、CHXが全て同じ場合は同一アドレスと評価します。

        パラメータ:
        adr1 - アドレス1
        adr2 - アドレス2
        戻り値:
        アドレス1 == アドレス2は0、アドレス1 > アドレス2は正の値、アドレス1 < アドレス2は負の値
        例外:
        NullPointerException - adr1またはadr2がnull
      • hashCode

        public static int hashCode​(BmsAddress adr)
        指定されたアドレスのハッシュコード値を生成します。
        パラメータ:
        adr - アドレス
        戻り値:
        ハッシュコード値
        例外:
        NullPointerException - adrがnull
      • of

        public static BmsAddress of​(BmsAddress adr)
        指定されたアドレスと同じ新しいアドレスオブジェクトを構築します。
        パラメータ:
        adr - アドレス
        戻り値:
        アドレスオブジェクト
        例外:
        NullPointerException - adrがnull
      • of

        public static BmsAddress of​(BmsAt at,
                                    BmsChx chx)
        指定された楽曲位置、CHXの新しいアドレスオブジェクトを構築します。
        パラメータ:
        at - 楽曲位置
        chx - CHX
        戻り値:
        アドレスオブジェクト
        例外:
        NullPointerException - atまたはchxがnull
      • of

        public static BmsAddress of​(int measure,
                                    double tick,
                                    int channel,
                                    int index)
        指定された楽曲位置、CHXの新しいアドレスオブジェクトを構築します。
        パラメータ:
        measure - 小節番号
        tick - 小節の刻み位置
        channel - チャンネル番号
        index - チャンネルインデックス
        戻り値:
        アドレスオブジェクト