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

クラス DifficultyTables

  • すべての実装されたインタフェース:
    Runnable

    public class DifficultyTables
    extends Object
    implements Runnable
    LDTライブラリが持つ難易度表定義にアクセスするためのプレースホルダクラスです。

    ライブラリは難易度表定義の情報を内部で保有しており、それらの定義は特に手続きを必要とせず参照することができます。 当ライブラリのユーザーは当クラスの各種静的フィールド・メソッドを通して難易度表の情報にアクセスすることができます。 内部で保有する難易度表の情報については Presets を参照してください。

    難易度表定義はユーザー定義により追加することも可能です。追加する場合は TableDescription を生成し、 add(TableDescription) を呼び出してください。

    その他、当クラスではライブラリの全体的な振る舞いを決定する各種操作ができます。 詳細は各種メソッドを参照してください。

    また、当クラスはエントリポイントを保有しています。Javaの実行環境が整っていればコマンドプロンプト・端末等から 当ライブラリが提供する基本的な機能を実行することができるようになっています。詳細は main(String[]) を参照してください。

    導入されたバージョン:
    0.1.0
    • フィールドの詳細

      • LIBRARY_VERSION

        public static final String LIBRARY_VERSION
        LDTライブラリのバージョン
        導入されたバージョン:
        0.1.0
        関連項目:
        定数フィールド値
      • DEFAULT_LOCATION

        public static final Path DEFAULT_LOCATION
        デフォルトの難易度表データベース格納先パス
        導入されたバージョン:
        0.1.0
    • メソッドの詳細

      • all

        public static Stream<TableDescription> all()
        全ての登録済み難易度表定義のストリームを返します。

        デフォルトでは Presets で定義された全ての難易度表定義が走査されます。 add(TableDescription) で難易度表定義を追加すると、その定義も走査されます。

        戻り値:
        全ての登録済み難易度表定義のストリーム
        導入されたバージョン:
        0.1.0
      • get

        public static TableDescription get​(String id)
        指定したIDの難易度表定義を取得します。
        パラメータ:
        id - ID
        戻り値:
        指定したIDの難易度表定義。該当する難易度表定義が存在しない場合はnull。
        例外:
        NullPointerException - idがnull
        導入されたバージョン:
        0.1.0
      • add

        public static void add​(TableDescription tableDesc)
        難易度表定義を追加します。

        当メソッドはライブラリが内部で保有する難易度表定義以外の難易度表を追加したい場合に使用します。 追加された難易度表定義の楽曲情報は、難易度表データベースの更新対象になります。

        追加する難易度表定義のIDが他と競合しないように注意してください。競合すると例外がスローされます。

        当メソッドはアプリケーションの起動直後の初期化処理時に実行され、アプリケーションにとって必要な難易度表定義を 追加することを想定して設計されています。一度追加された難易度表定義を削除する機能は用意されておらず、 アプリケーションのプロセスが終了するまで残り続けることに注意してください。

        パラメータ:
        tableDesc - 追加する難易度表定義
        例外:
        NullPointerException - tableDescがnull
        IllegalArgumentException - IDが競合している
        導入されたバージョン:
        0.1.0
      • printLog

        public static void printLog​(String msg)
        デバッグログを出力します。

        当メソッドで出力したデバッグログは setLogger(Consumer) でロガー関数が登録されている時に出力されます。 デバッグログは当ライブラリの内部動作および Parser を実装したパーサの内部動作を確認する目的で使用します。 アプリケーション固有の出力処理を行うために当メソッドを使用することは非推奨です。

        パラメータ:
        msg - メッセージ
        導入されたバージョン:
        0.1.0
      • printLog

        public static void printLog​(String format,
                                    Object... args)
        デバッグログを出力します。

        当メソッドはメッセージを printf() の書式に従って出力メッセージを構築する点を除き printLog(String) と同等の動作になります。

        パラメータ:
        format - メッセージの書式
        args - メッセージの引数リスト
        例外:
        IllegalFormatException - メッセージの書式が不正
        導入されたバージョン:
        0.1.0
      • setLogger

        public static void setLogger​(Consumer<String> logger)
        ロガーを設定します。

        当メソッドで設定したロガーは printLog(String) 等でデバッグログを出力する際に使用されます。 デフォルトではロガーは設定されておらず、デバッグログは出力されません。

        ロガーを取り除きたい場合は null を指定してください。

        パラメータ:
        logger - ロガー
        導入されたバージョン:
        0.1.0
      • setLocale

        public static void setLocale​(Locale locale)
        LDTライブラリが使用するロケールを設定します。

        ロケールは難易度表名称等の各種文字列表現を決定する際に参照されます。当メソッドが実行されない場合、 システムのデフォルトロケールが使用されます。アプリケーションで高度な言語設定を使用しない限り、 特に呼び出す必要はありません。

        パラメータ:
        locale - ロケール
        例外:
        NullPointerException - localeがnull
        導入されたバージョン:
        0.1.0
      • main

        public static void main​(String[] args)
        LDTライブラリのアプリケーションエントリポイントです。

        当ライブラリでは、難易度表に関する基本的な機能を操作するための CLI(コマンドラインインターフェイス) をサポートします。これを利用することで、当ライブラリを使用したアプリケーションを使用せずに難易度表の操作を 行うことができます。

        CLIがサポートする機能

        • update: Presets に定義されたプリセット難易度表の更新機能(インターネット接続が必要です)
        • show: Presets に定義されたプリセット難易度表の楽曲情報一覧出力
        • presets: Presets に定義されたプリセット難易度表の定義内容一覧出力

        CLI機能の動作オプションは以下の通りです。

        -l, --location

        難易度表更新・楽曲情報一覧出力時、処理対象となる難易度表データベースのパスを指定します。 省略時は当ライブラリ既定の難易度表データベース格納先パスが使用されます。 難易度表更新時、指定されたパスのディレクトリが存在しない場合はディレクトリが作成されます。

        -t, --target-id

        処理対象となる難易度表定義のIDを1個指定します。複数指定はできません。 省略時は全ての難易度表定義が処理対象となります(デフォルトの動作)。不明なIDを指定するとエラーになります。

        以下にCLI実行コマンド例を記載します。ライブラリのファイル名・パスは実際の格納場所で読み替えてください。

         LDTライブラリのバージョンを表示する
         java -jar bms-ldt-x.x.x.jar --version
        
         CLIのヘルプを表示する
         java -jar bms-ldt-x.x.x.jar --help
        
         難易度表を全て更新する
         java -jar bms-ldt-x.x.x.jar update
        
         指定したディレクトリの難易度表データベースに特定の難易度表をダウンロード・更新する
         java -jar bms-ldt-x.x.x.jar update -l C:\Users\john\bldt -t genocide_i
        
         指定した難易度表の楽曲情報一覧を出力する
         java -jar bms-ldt-x.x.x.jar show -t satellite
        
         難易度表の定義内容を出力する
         java -jar bms-ldt-x.x.x.jar presets
        パラメータ:
        args - コマンドライン引数
        導入されたバージョン:
        0.1.0