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

クラス BmsNote

  • すべての実装されたインタフェース:
    BmsAt, BmsChx, Comparable<BmsAddress>

    public class BmsNote
    extends BmsElement
    タイムライン要素の一つであるノートの情報を表します。

    情報には、アドレス、およびノートが示す値の2つが存在します。当クラスの情報は変更不可であり、 BMSライブラリの外部から情報の変更が加えられることを想定していません。

    関連項目:
    BmsElement
    • フィールドの詳細

      • DEFAULT_CREATOR

        public static final BmsNote.Creator DEFAULT_CREATOR
        デフォルトのノートオブジェクト生成器。
      • TEST_OK

        public static final BmsNote.Tester TEST_OK
        常に検査合格とするテスター。
      • TEST_FAIL

        public static final BmsNote.Tester TEST_FAIL
        常に検査不合格とするテスター。
    • コンストラクタの詳細

      • BmsNote

        public BmsNote()
        ノートオブジェクトを新しく構築します。

        標準のノートオブジェクトでは、ノートの値・チャンネル番号・チャンネルインデックス・小節番号・小節内の刻み位置を 保有します。これらの情報はBmsContentからのみ設定されることを想定しており、BMSライブラリの外部から値を 更新するためのインターフェイスは用意されていません。ただし、クラスを拡張してノートオブジェクトに付加的な情報 を挿入することは可能です。

        ノートオブジェクトを構築しただけではonCreate()は呼び出されません。

    • メソッドの詳細

      • toString

        public String toString()
        チャンネル番号、インデックス、小節番号、刻み位置、値が分かる形式の文字列を返します。
        オーバーライド:
        toString クラス内 BmsAddress
        戻り値:
        チャンネル番号、インデックス、小節番号、刻み位置、値が分かる形式の文字列
      • getValue

        public final int getValue()
        ノートに割り当てられた値を取得します。

        ノートの値とは、配列型(BmsArray)チャンネルデータの1つの配列要素を表します。つまり、 16進配列では0~255、36進配列では0~1295の範囲の値を示します。

        戻り値:
        ノートの値
      • getValueAsLong

        public long getValueAsLong()
        ノートに割り当てられた値をlong型にキャストして取得します。

        ノートに割り当てられた値を参照する際は可能であればgetValue()を使用することを推奨します。

        オーバーライド:
        getValueAsLong クラス内 BmsElement
        戻り値:
        ノートに割り当てられた値
      • getValueAsDouble

        public double getValueAsDouble()
        ノートに割り当てられた値をdouble型にキャストして取得します。

        ノートに割り当てられた値を参照する際は可能であればgetValue()を使用することを推奨します。

        オーバーライド:
        getValueAsDouble クラス内 BmsElement
        戻り値:
        ノートに割り当てられた値
      • getValueAsString

        public String getValueAsString()
        ノートに割り当てられた値の文字列表現を取得します。
        オーバーライド:
        getValueAsString クラス内 BmsElement
        戻り値:
        ノートに割り当てられた値の文字列表現
      • getValueAsObject

        public Object getValueAsObject()
        ノートに割り当てられた値をObject型にキャストして取得します。

        返されるオブジェクトの実体はInteger型のノートに割り当てられた値です。ノートに割り当てられた値を参照する際は 可能であればgetValue()を使用することを推奨します。

        オーバーライド:
        getValueAsObject クラス内 BmsElement
        戻り値:
        ノートに割り当てられた値
      • isNoteElement

        public boolean isNoteElement()
        タイムライン要素がノートであるかどうかを判定します。
        オーバーライド:
        isNoteElement クラス内 BmsElement
        戻り値:
        タイムライン要素がノートの場合true
      • onNewInstance

        protected BmsNote onNewInstance()
        このオブジェクトと同等の新しいノートオブジェクトのインスタンスを生成します。

        当メソッドはノートの移動・コピーが発生した時に内部処理が呼び出します。当クラスを継承したノートオブジェクトは 当メソッドをオーバーライドし、継承先クラスのインスタンスを生成するように実装するべきです。デフォルトの実装では BmsNoteのインスタンスが返されるようになっています。継承先クラスが当メソッドを実装しない場合、 ノートの移動・コピー時に継承先クラスが持つ付加情報が失われることになります。

        戻り値:
        新しいインスタンスのノートオブジェクト
      • onCreate

        protected void onCreate()
        BMSコンテンツにノートが登録される時、またはノートの移動・コピーなどが発生した時に呼び出されます。

        当メソッドは、BmsNoteのデフォルト実装では何も行われません。

        当メソッドは、ノートオブジェクト登録時に拡張データを含んだカスタムノートオブジェクト(BmsNoteを継承したクラス) を生成する目的で使用することを想定しています。ノートオブジェクト生成時、拡張データ生成のために一度だけ呼び出したい 処理がある場合に当メソッドをオーバーライドし、処理を記述してください。