パッケージ com.lmt.lib.bldt
クラス ContentCollection
- Object
-
- ContentCollection
-
public class ContentCollection extends Object
難易度表情報を表すクラスです。難易度表情報とは、1個の難易度表の定義内容、更新日時等の情報、および楽曲情報のリストをまとめたものです。 当クラスは1個の難易度表情報ファイルと1対1の関係にあり、難易度表情報ファイルをメモリ上に展開した時の情報と等価です。
- 導入されたバージョン:
- 0.1.0
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 ContentCollection(TableDescription tableDesc, ZonedDateTime lastUpdateDateTime, ZonedDateTime spModifiedDateTime, String spModifiedDataHash, ZonedDateTime dpModifiedDateTime, String dpModifiedDataHash, Collection<ContentDescription> contents)新しい難易度表情報オブジェクトを構築します。
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 Stream<ContentDescription>all()全ての楽曲情報のストリームを返します。ContentDescriptionget(int index)楽曲情報を取得します。intgetCount()楽曲情報の数を取得します。ZonedDateTimegetLastUpdateDateTime()難易度表情報の最終更新日時を取得します。StringgetModifiedDataHash(PlayStyle playStyle)指定したプレースタイルの楽曲情報元データのハッシュ値を取得します。ZonedDateTimegetModifiedDateTime(PlayStyle playStyle)指定したプレースタイルの楽曲情報元データの最終更新日時を取得します。TableDescriptiongetTableDescription()難易度表定義を取得します。ContentDescriptionquery(String title, String artist, PlayStyle playStyle, String md5, String sha256)この難易度表情報から指定した条件に該当する1件の楽曲情報を検索します。
-
-
-
コンストラクタの詳細
-
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 が nullNullPointerException- contents が nullIllegalArgumentException- 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 または nullsha256- SHA-256 または null- 戻り値:
- 検索条件に該当する楽曲情報。該当なしの場合は null。
- 例外:
NullPointerException- title が nullNullPointerException- artist が nullNullPointerException- playStyle が null- 導入されたバージョン:
- 0.1.0
-
-