Class Locators
- Author:
- tomyeh
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classthe location information.static classthe location information. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final LocatorReturns the default resource locator which is an instance ofClassLocator.static final Locators.URLLocationLocates the filename based on the locale.static final Locators.StreamLocationlocateAsStream(String file, Locale locale, Locator locator) Locates the input stream based on the locale, and returns the info of StreamLocation.
-
Constructor Details
-
Locators
public Locators()
-
-
Method Details
-
getDefault
Returns the default resource locator which is an instance ofClassLocator. -
locate
Locates the filename based on the locale.Example, assume file="/a/b.ext" and locale="zh_TW", then the following files are tried in sequence:
/a/b_zh_TW.ext
/a/b_zh.ext
/a/b.extUnlike ClassLoader.getResource, it returns the found file, not the URL. In the previous example, one of /a/b_zh_TW.ext, /a/b_zh.ext and /a/b.ext will be returned.
To get the real URL, you still require locator.getResource:
locator.getResource(Locators.locate(locator, "/a/b.ext", locale));Note: '_' is considered as a special character in the parsing, so there might be problem if a filename contains '_' used other than locale.
Unlike
Files.locate(java.lang.String), where the filename must contain '*', this method always tries to locate the file by inserting the locale before '.'. In other words, Files.locate("/a/b*.c") is similar to Locators.locate(("/a/b.c", null, a_file_locator);- Parameters:
locale- the locale; null means the current locale- Returns:
- the URL containing proper locale characters; null if not found. Note: it could compare it with the file argument with ==, because this method will return the same string if it is the result.
-
locateAsStream
public static final Locators.StreamLocation locateAsStream(String file, Locale locale, Locator locator) Locates the input stream based on the locale, and returns the info of StreamLocation.
-