リソースの URL を規定します。
package: リソース検索をはじめるパッケージです。
locale: ロケールです。
file: リソースファイルの名前です。
component-type: manifest 内で検索する component-type です。
説明
この機能では、package、locale、file、component type で指定されたリソースのロケーションを検索します。リソースの URL が見つかれば、その URL が返されます。そうでなければ、エラーがスローされます。失敗した時に null を返す
find-resource-or-null も参照してください。
次のアルゴリズムが使用されています。:
- package をインポートしたり、次の属性に一致するエントリをデリゲートするのに使用された Curl マニフェスト を検索します。: これは、次のような manifest のエントリに一致します。:{component component-type PACKAGE-NAME,
[ version = "version", ]
locale = "locale",
file = "file",
location = "path",
...
}
最初の manifest で一致しなければ、マニフェストのデリゲート を順に検索します。manifest で一つ以上のエントリと一致した場合、ComponentSelector.compare を使用して最も一致するものが選ばれます。 - 指定されたロケールを使用して manifest 内にリソースが見つからず、package.meta-data が、設定されたlocale とは異なる default-locale が指定されている場合、そのロケールで前と同じステップを繰り返します。
- manifest 内でリソースが見つからず、file が null ではなく、package.meta-data が resource-directory 属性が記述されている場合、そのディレクトリが以下のステップで使用されます。file が指定され resource-directory が指定されない場合、エラーがスローされます。
- locale に一致する指定されたローカル ディレクトリのほとんどで file によって指定されたファイルが、resource-directoryで検索されます。フル ローカル名で開始され、一致するものが見つかるまでローカル名のコンポーネントを見ていきます。ロケールに一致するディレクトリでファイルが見つからない場合は、"default" のディレクトリで検索することになります。たとえば、resource-directory が (package のロケーションに関連する) "my-resources/"の場合、file は "info.xml" で、ロケール "en-US.UTF-8" は次のファイルを順番に検索します。:
- my-resources/en-US.UTF-8/info.xml
- my-resources/en-US.UTF/info.xml
- my-resources/en-US/info.xml
- my-resources/en/info.xml
- my-resources/default/info.xml
- リソースがそれでも見つからない場合は、package.meta-data が指定された locale とは異なる default-locale を指定している場合、そのロケールで前のステップが繰り返されます。
- 最終的に、リソースが見つからない場合は、エラーがスローされます。
注意事項