<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="695c65bd-c768-4f29-82b3-6dbe69f0d7ff"><ac:plain-text-body><![CDATA[ | [http://jakarta.apache.org/commons/resources/ Home] | [wiki:Resources Wiki] [wiki | :ResourcesUserGuide Guide] | [wiki:ResourcesUserGuideIntro Getting Started] [ | wiki:ResourcesUserGuideMessages Messages] | [wiki:ResourcesUserGuideImplementations Standard] [wiki | :ResourcesUserGuideCreating Creating] | [http://jakarta.apache.org/commons/resources/apidocs/ API] | [http://jakarta.apache.org/commons/resources/xref/ XREF] | Source ]]></ac:plain-text-body></ac:structured-macro> |
...
4. Creating a Resources Implementation
You can implement the \[http://jakarta.apache.org/commons/resources/apidocs/org/apache/commons/resources/Resources.html Resources\] and \[http://jakarta.apache.org/commons/resources/apidocs/org/apache/commons/resources/ResourcesFactory.html ResourcesFactory\] interfaces directly, however, by far the easiest way is to use one of the *base* implementations provided. Wiki Markup
The two base Resources classes are:
...
- \[http://jakarta.apache.org/commons/resources/apidocs/org/apache/commons/resources/ResourcesBase.html ResourcesBase\] - implements Resources
- void:init() - (optional) for initialization processing.
- Iterator:getKeys() - (required) return the set (Iterator) of keys in this Resources
- Object:getObject(key, Locale, TimeZone) - (required) retrieve the content for a key/Locale/Timezone
- CollectionResourcesBase\] - extends *ResourcesBase* and provides a mechanism for caching a set of *Map*s containing key/value pairs for a Locale.
- void:init() - (optional) for initialization processing.
- Map:getLocaleMap(baseUrl, Locale) (required) returns a Map of key/value pairs for a Locale.
...
No Format |
---|
public class MyResources extends ResourcesBase {
private String config;
public MyResources(String name, config) {
super(name);
this.config = config;
}
public void init() {
// do initialization here, if required
}
public Iterator getKeys() {
// must implement this method
}
public Object getObject(String key, Locale locale, TimeZone timeZone) {
// must implement this method
}
}
|
4.2 CollectionsResourcesBase
No Format |
---|
public class MyResources extends CollectionsResourcesBase { public MyResources(String name, config) { super(name, config); } public void init() { // do initialization here, if required } public Object getLocaleMap(String baseUrl, Locale locale) { // must implement this method } } |
4.3 ResourcesFactory
...
To create a *factory* for your *Resources* implementation, extends the \[http://jakarta.apache.org/commons/resources/apidocs/org/apache/commons/resources/ResourcesFactoryBase.html ResourcesFactoryBase\] extend the ResourcesFactoryBase ...
No Format |
---|
public class MyResourcesFactory extends ResourcesFactoryBase { public MyResources() { super(); } protected Resources createResources(String name, String config) { Resources resources = new MyResources(name); Resources res = new PropertyResources(name, config); resources.setReturnNull(isReturnNull()); resources.init(); return resources; } } |
...
*N.B* for implementations to be used in a Web Application there is a \[http://jakarta.apache.org/commons/resources/apidocs/org/apache/commons/resources/WebappResourcesFactoryBase.html WebappResourcesFactoryBase\] factory which includes a *ServletContext* property with appropriate read/write methods.
...
...
[http://jakarta.apache.org/commons/resources/ Home] | [wiki:Resources Wiki] [wiki | :ResourcesUserGuide Guide] | [wiki:ResourcesUserGuideIntro Getting Started] [ | wiki:ResourcesUserGuideMessages Messages] | [wiki:ResourcesUserGuideImplementations Standard] [wiki | :ResourcesUserGuideCreating Creating] | [http://jakarta.apache.org/commons/resources/apidocs/ API] | [http://jakarta.apache.org/commons/resources/xref/ XREF] | Source ]]></ac:plain-text-body></ac:structured-macro> |