<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="7f47872d-5246-487f-8452-1ef40f659315"><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/ Source] |
]]></ac:plain-text-body></ac:structured-macro> |
1. Getting Started
1.1 Using Resources
The first thing is to get hold of / create is a [http://jakarta.apache.org/commons/resources/apidocs/org/apache/commons/resources/ResourcesFactory.html ResourcesFactory] for the Resources implementation you want to use...
ResourcesFactory factory = new PropertyResourcesFactory(); factory.setReturnNull(true);
N.B. See below for an explantion of the return null configuration option.
Then you can get a Resources instance (the factory may either create a new instance or provide a cached instance, depending on its implementation)...
Resources resources = factory.getResources("Bar", "file:c:/myapp/foo/Bar");
Once you have the resources instance, you can then use it to retrieve localized resources using one of the five content retrieval methods provided...
Object resource = resources.getObject("foo.key", locale, null); String resource = resources.getString("foo.key", locale, null); byte[] resource = resources.getBytes("foo.key", locale, null); Reader resource = resources.getReader("foo.key", locale, null); InputStream resource = resources.getInputStream("foo.key", locale, null);
1.1.1 Return Null Option
The return null configuration option indicates what the above five content retrieval methods should do when a resource key is not found - they either return a null
value or throw a [http://jakarta.apache.org/commons/resources/apidocs/org/apache/commons/resources/ResourcesKeyException.html ResourcesKeyException].
Use the factory's write method for that property to configure your Resources instances for this option:
factory.setReturnNull(true);
1.1.2 Resources Implementations
OK the next question is what Resources implementation do I use? You have two choices...
[wiki:ResourcesUserGuideImplementations Standard Implementations] - Commons Resources comes with a set of standard implementations for properties files, XML documents, database resources and versions for use in a Web Application
[wiki:ResourcesUserGuideCreating Creating an Implementation] - create your own implementation.
1.2 Messages
The majority of what Commons Resources is about centers around the Resources type. However there are also two types defined for handling messages:
[http://jakarta.apache.org/commons/resources/apidocs/org/apache/commons/resources/Message.html Message] - a message representation.
[http://jakarta.apache.org/commons/resources/apidocs/org/apache/commons/resources/MessageList.html MessageList] - a set of Message objects.
There is also a convenience wrapper class, that provides message string lookups from a Resources instance, and parameter replacement:
[http://jakarta.apache.org/commons/resources/apidocs/org/apache/commons/resources/Messages.html Messages] - convenience class for handling messages.
See the [wiki:ResourcesUserGuideMessages Messages] section in this User Guide for more details.
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="70b1b249-a81c-4c42-8cdf-7777d0b46253"><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/ Source] |
]]></ac:plain-text-body></ac:structured-macro> |