| java.lang.Object org.apache.xml.serializer.utils.Messages
Messages | final public class Messages (Code) | | A utility class for issuing error messages.
A user of this class normally would create a singleton
instance of this class, passing the name
of the message class on the constructor. For example:
static Messages x = new Messages("org.package.MyMessages");
Later the message is typically generated this way if there are no
substitution arguments:
String msg = x.createMessage(org.package.MyMessages.KEY_ONE, null);
If there are arguments substitutions then something like this:
String filename = ...;
String directory = ...;
String msg = x.createMessage(org.package.MyMessages.KEY_TWO,
new Object[] {filename, directory) );
The constructor of an instance of this class must be given
the class name of a class that extends java.util.ListResourceBundle
("org.package.MyMessages" in the example above).
The name should not have any language suffix
which will be added automatically by this utility class.
The message class ("org.package.MyMessages")
must define the abstract method getContents() that is
declared in its base class, for example:
public Object[][] getContents() {return contents;}
It is suggested that the message class expose its
message keys like this:
public static final String KEY_ONE = "KEY1";
public static final String KEY_TWO = "KEY2";
. . .
and used through their names (KEY_ONE ...) rather than
their values ("KEY1" ...).
The field contents (returned by getContents()
should be initialized something like this:
public static final Object[][] contents = {
{ KEY_ONE, "Something has gone wrong!" },
{ KEY_TWO, "The file ''{0}'' does not exist in directory ''{1}''." },
. . .
{ KEY_N, "Message N" } }
Where that section of code with the KEY to Message mappings
(where the message classes 'contents' field is initialized)
can have the Message strings translated in an alternate language
in a errorResourceClass with a language suffix.
More sophisticated use of this class would be to pass null
when contructing it, but then call loadResourceBundle()
before creating any messages.
This class is not a public API, it is only public because it is
used in org.apache.xml.serializer.
|
Constructor Summary | |
| Messages(String resourceBundle) Constructor.
Parameters: resourceBundle - the class name of the ListResourceBundlethat the instance of this class is associated with and will use whencreating messages.The class name is without a language suffix. |
Method Summary | |
final public String | createMessage(String msgKey, Object args) Creates a message from the specified key and replacement
arguments, localized to the given locale.
Parameters: msgKey - The key for the message text. Parameters: args - The arguments to be used as replacement textin the message created. |
Messages | Messages(String resourceBundle)(Code) | | Constructor.
Parameters: resourceBundle - the class name of the ListResourceBundlethat the instance of this class is associated with and will use whencreating messages.The class name is without a language suffix. If the value passedis null then loadResourceBundle(errorResourceClass) needs to be calledexplicitly before any messages are created. |
createMessage | final public String createMessage(String msgKey, Object args)(Code) | | Creates a message from the specified key and replacement
arguments, localized to the given locale.
Parameters: msgKey - The key for the message text. Parameters: args - The arguments to be used as replacement textin the message created. The formatted message string. |
|
|