This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Page tree
Skip to end of metadata
Go to start of metadata

1. Getting Started

1.1 Using Resources

The first thing is to get hold of / create is a ResourcesFactory for the Resources implementation you want to use...

        ResourcesFactory factory = new PropertyResourcesFactory();

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 ResourcesKeyException.

Use the factory's write method for that property to configure your Resources instances for this option:


1.1.2 Resources Implementations

OK the next question is what Resources implementation do I use? You have two choices...

  • 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
  • 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:

There is also a convenience wrapper class, that provides message string lookups from a Resources instance, and parameter replacement:

  • Messages - convenience class for handling messages.

See the Messages section in this User Guide for more details.

  • No labels