com.docomostar.ui.avplayer
インタフェース Filterable

既知の実装クラスの一覧:
AlbumList, ArtistList, ContentList, FilteringResult, GenreList

public interface Filterable
 [iアプリオプションAPI]

フィルタリングが可能であること表すインタフェースです。 このインタフェースを実装しているクラス(通常はコンテンツの一覧を表すクラス)は、 指定された検索条件にマッチするコンテンツのみにフィルタリングする機能を提供します。

このインタフェースでは、 フィルタリングのための検索条件として、 検索対象と検索文字列を指定します。 検索対象で指定したプロパティの値が検索文字列と完全一致した場合に、 検索条件にマッチしたことになります。 なお、コンテンツのプロパティに設定されている文字列と大文字・小文字が異なる文字列を指定してフィルタリングを実施した場合、 端末によっては想定どおりのフィルタリング結果が得られない可能性がある点に注意してください。

検索対象:
検索対象となるプロパティ名を指定します。 アーティスト、 アルバム、 ジャンルのいずれかを指定することができます。
検索文字列:
検索したい文字列を指定します。 全角・半角は区別されますが、大文字・小文字が区別されるかどうかは機種依存です。

フィルタリング結果を得るには、上記で説明した検索条件に加えて、 フィルタリングを行った結果の型(フィルタリング結果タイプ)を指定する必要があります。 各タイプを指定した場合の戻り値の型は以下の通りです。

フィルタリング結果タイプフィルタリングメソッドの戻り値の型
TYPE_ARTISTArtistList
TYPE_ALBUMAlbumList
TYPE_GENREGenreList
TYPE_CONTENTContentList

具体的には、filter(int, int, String)やfilter(FilteringElement)に、上記フィルタリング結果タイプ、 検索対象、検索文字列を指定することで、フィルタリングを行うことができます。 例えば、アーティスト一覧から、 特定のアーティストのアルバム一覧を取得するコード例は以下のようになります。

 //アーティスト一覧を取得
 ArtistList artists = DataManager.getAllArtists(FilteringResult.FILE_MUSIC);
 //アーティスト名を指定して、そのアーティストのアルバム一覧を取得する
 AlbumList albums = (AlbumList)artists.filter(Filterable.TYPE_ALBUM,
                                                 Filterable.TYPE_ARTIST, 
                                                 "アーティスト名");
 

なお、検索文字列において、空文字列("")および null は特別な意味を持ちます。 空文字列は空のプロパティ値にマッチし、 null は任意のプロパティ値にマッチします。 すなわち、それぞれ、以下のように振る舞います。

いかなる検索条件においても、検索対象のプロパティ自体が存在しないものは、 フィルタリングの対象から外されます。

フィルタリング結果に対しては、さらに再フィルタリングを行うことができます。 ただし、再フィルタリングが行える条件は機種依存であり、 前回フィルタリング時に指定した検索対象と、再フィルタリング時に指定する検索対象の組み合わせによっては、 再フィルタリングがサポートされていない場合があります。 再フィルタリング時において、指定した検索対象によるフィルタリングがサポートされていない場合には、 UnsupportedOperationException が発生します。

このオブジェクトのインスタンスは、以下のタイミングで無効化されます。

このインスタンスが無効化されている状態において、 フィルタリング、及びフィルタリング結果からのプレイリストの生成が行われた場合は UIException(UNDEFINED) が発生します。

ミニマムスペック:
ミニマムスペックでは、以下の再フィルタリングがサポートされます。

導入されたバージョン:
Star-1.5
関連項目:
FilteringResult, DataManager

フィールドの概要
static int TYPE_ALBUM
          検索対象・フィルタリング結果タイプを表す定数の 1 つで、 アルバムを表します(=1)。
static int TYPE_ARTIST
          検索対象・フィルタリング結果タイプを表す定数の 1 つで、 アーティストを表します(=0)。
static int TYPE_CONTENT
          フィルタリング結果タイプを表す定数の 1 つで、コンテンツを表します(=3)。
static int TYPE_GENRE
          検索対象・フィルタリング結果タイプを表す定数の 1 つで、 ジャンルを表します(=2)。
 
メソッドの概要
 FilteringResult filter(FilteringElement element)
           検索条件を指定してフィルタリングを行います。
 FilteringResult filter(int resultType, int target, String str)
           検索条件を指定してフィルタリングを行います。
 

フィールドの詳細

TYPE_ARTIST

static final int TYPE_ARTIST
検索対象・フィルタリング結果タイプを表す定数の 1 つで、 アーティストを表します(=0)。

関連項目:
filter(int, int, String), FilteringElement, 定数フィールド値

TYPE_ALBUM

static final int TYPE_ALBUM
検索対象・フィルタリング結果タイプを表す定数の 1 つで、 アルバムを表します(=1)。

関連項目:
filter(int, int, String), FilteringElement, 定数フィールド値

TYPE_GENRE

static final int TYPE_GENRE
検索対象・フィルタリング結果タイプを表す定数の 1 つで、 ジャンルを表します(=2)。

関連項目:
filter(int, int, String), FilteringElement, 定数フィールド値

TYPE_CONTENT

static final int TYPE_CONTENT
フィルタリング結果タイプを表す定数の 1 つで、コンテンツを表します(=3)。
この定数は、検索対象としては利用できません。

関連項目:
filter(int, int, String), FilteringElement, 定数フィールド値
メソッドの詳細

filter

FilteringResult filter(int resultType,
                       int target,
                       String str)

検索条件を指定してフィルタリングを行います。 検索条件の指定方法については、 Filterable インタフェース説明を参照して下さい。

パラメータ:
resultType - フィルタリング結果タイプを指定します。
target - 検索対象を指定します。
str - 検索文字列を指定します。
戻り値:
指定された検索条件にマッチするコンテンツのみにフィルタリングした結果を返します。 検索条件にマッチするものが無かった場合には null を返します。
関連項目:
TYPE_ARTIST, TYPE_ALBUM, TYPE_GENRE, TYPE_CONTENT
例外:
UnsupportedOperationException -
フィルタリング結果に対する再フィルタリングをサポートしていない場合に発生します。
IllegalArgumentException -
引数 resultType が不正な場合に発生します。
IllegalArgumentException -
引数 target が不正な場合に発生します。
UIException -
(NO_RESOURCES)
リソース不足によりフィルタリングに失敗した場合に発生します。
UIException -
(UNDEFINED)
何らかの理由でフィルタリングに失敗した場合に発生します。

filter

FilteringResult filter(FilteringElement element)

検索条件を指定してフィルタリングを行います。 検索条件の指定方法については、 Filterable インタフェース説明を参照して下さい。

パラメータ:
element - フィルタリングのための検索条件を指定します。
戻り値:
指定された検索条件にマッチするコンテンツのみにフィルタリングした結果を返します。 検索条件にマッチするものが無かった場合には null を返します。
例外:
UnsupportedOperationException -
フィルタリング結果に対する再フィルタリングをサポートしていない場合に発生します。
NullPointerException -
引数 element が null の場合に発生します。
UIException -
(NO_RESOURCES)
リソース不足によりフィルタリングに失敗した場合に発生します。
UIException -
(UNDEFINED)
何らかの理由でフィルタリングに失敗した場合に発生します。


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。