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

クラス ContentCollection


  • public class ContentCollection
    extends Object
    難易度表情報を表すクラスです。

    難易度表情報とは、1個の難易度表の定義内容、更新日時等の情報、および楽曲情報のリストをまとめたものです。 当クラスは1個の難易度表情報ファイルと1対1の関係にあり、難易度表情報ファイルをメモリ上に展開した時の情報と等価です。

    導入されたバージョン:
    0.1.0
    • コンストラクタの詳細

      • ContentCollection

        public ContentCollection​(TableDescription tableDesc,
                                 ZonedDateTime lastUpdateDateTime,
                                 ZonedDateTime spModifiedDateTime,
                                 String spModifiedDataHash,
                                 ZonedDateTime dpModifiedDateTime,
                                 String dpModifiedDataHash,
                                 Collection<ContentDescription> contents)
        新しい難易度表情報オブジェクトを構築します。

        当クラスのオブジェクト構築は当ライブラリのユーザーが直接行うことを想定していません。 難易度表情報の管理・更新は ContentDatabase を利用して間接的に行うことを推奨します。

        パラメータ:
        tableDesc - 難易度表定義
        lastUpdateDateTime - 難易度表情報の最終更新日時
        spModifiedDateTime - シングルプレーの楽曲情報元データの最終更新日時
        spModifiedDataHash - シングルプレーの楽曲情報元データのハッシュ値
        dpModifiedDateTime - ダブルプレーの楽曲情報元データの最終更新日時
        dpModifiedDataHash - ダブルプレーの楽曲情報元データのハッシュ値
        contents - 楽曲情報リスト
        例外:
        NullPointerException - tableDesc が null
        NullPointerException - lastUpdateDateTime が null
        NullPointerException - contents が null
        IllegalArgumentException - spModifiedDataHash が文字列のSHA-256の形式ではない
        IllegalArgumentException - dpModifiedDataHash が文字列のSHA-256の形式ではない
        導入されたバージョン:
        0.1.0
    • メソッドの詳細

      • getTableDescription

        public TableDescription getTableDescription()
        難易度表定義を取得します。
        戻り値:
        難易度表定義
        導入されたバージョン:
        0.1.0
      • getLastUpdateDateTime

        public ZonedDateTime getLastUpdateDateTime()
        難易度表情報の最終更新日時を取得します。
        戻り値:
        難易度表情報の最終更新日時
      • getModifiedDateTime

        public ZonedDateTime getModifiedDateTime​(PlayStyle playStyle)
        指定したプレースタイルの楽曲情報元データの最終更新日時を取得します。

        以下の条件のいずれかを満たす場合、null を返します。

        • 指定プレースタイルが当該難易度表で非サポート
        • 当該難易度表で一度も難易度表情報の更新が行われていない
        パラメータ:
        playStyle - プレースタイル
        戻り値:
        楽曲情報元データの最終更新日時、または null
        例外:
        NullPointerException - playStyle が null
        導入されたバージョン:
        0.1.0
      • getModifiedDataHash

        public String getModifiedDataHash​(PlayStyle playStyle)
        指定したプレースタイルの楽曲情報元データのハッシュ値を取得します。

        以下の条件のいずれかを満たす場合、null を返します。

        • 指定プレースタイルが当該難易度表で非サポート
        • 当該難易度表で一度も難易度表情報の更新が行われていない
        パラメータ:
        playStyle - プレースタイル
        戻り値:
        楽曲情報元データのハッシュ値、または null
        例外:
        NullPointerException - playStyle が null
        導入されたバージョン:
        0.1.0
      • getCount

        public int getCount()
        楽曲情報の数を取得します。
        戻り値:
        楽曲情報の数
        導入されたバージョン:
        0.1.0
      • all

        public Stream<ContentDescription> all()
        全ての楽曲情報のストリームを返します。
        戻り値:
        楽曲情報のストリーム
        導入されたバージョン:
        0.1.0
      • get

        public ContentDescription get​(int index)
        楽曲情報を取得します。
        パラメータ:
        index - インデックス値
        戻り値:
        楽曲情報
        例外:
        IndexOutOfBoundsException - index が0未満または getCount() 以上
        導入されたバージョン:
        0.1.0
      • query

        public ContentDescription query​(String title,
                                        String artist,
                                        PlayStyle playStyle,
                                        String md5,
                                        String sha256)
        この難易度表情報から指定した条件に該当する1件の楽曲情報を検索します。

        当メソッドでは指定した条件を用いた完全一致検索を行います。検索は最も信頼できる情報を優先的に使用し、 その順番は SHA-256, MD5, タイトル&アーティスト&プレースタイル の順になっています。ただし、SHA-256, MD5 は任意情報であり、楽曲情報にそれらが未登録の場合は検索でヒットしません。 タイトル&アーティスト&プレースタイルは最も競合する可能性がある情報ですが、 全ての楽曲情報が必ず保有している情報で、確実に検索条件として照合が行われます。

        上記の理由から SHA-256, MD5 は指定省略可能で、タイトル&アーティスト&プレースタイルは必須となります。

        正規表現やその他の検索条件を使用して複雑な検索を行いたい場合は all() を使用してください。 当メソッドで抽出可能な楽曲情報は1件のみです。

        パラメータ:
        title - タイトル
        artist - アーティスト
        playStyle - プレースタイル
        md5 - MD5 または null
        sha256 - SHA-256 または null
        戻り値:
        検索条件に該当する楽曲情報。該当なしの場合は null。
        例外:
        NullPointerException - title が null
        NullPointerException - artist が null
        NullPointerException - playStyle が null
        導入されたバージョン:
        0.1.0