org.apache.derby.shared.common.i18n
Class MessageUtil

java.lang.Object
  extended by org.apache.derby.shared.common.i18n.MessageUtil

public class MessageUtil
extends java.lang.Object

Class comments here


Field Summary
private  java.lang.String resourceBundleName
          The name of the resource bundle we are using to load messages
static java.util.Locale US
           
 
Constructor Summary
MessageUtil(java.lang.String resourceBundleName)
          Create an instance of MessageUtil with a specific resource bundle.
 
Method Summary
static java.lang.String composeDefaultMessage(java.lang.String message, java.lang.Object[] arguments)
          Compose a default message so that the user at least gets *something* useful rather than just a MissingResourceException, which is particularly unhelpful
private static int countParams(java.lang.String message)
          Count the number of substituation parameters in the message
static java.lang.String formatMessage(java.util.ResourceBundle bundle, java.lang.String messageId, java.lang.Object[] arguments, boolean composeDefault)
          Format a message given a resource bundle and a message id.
static java.lang.String getCompleteMessage(java.util.Locale locale, java.lang.String resourceBundleName, java.lang.String messageId, java.lang.Object[] arguments, boolean composeDefault)
          Generic routine to get a message with any number of arguments.
 java.lang.String getCompleteMessage(java.lang.String messageID, java.lang.Object[] args)
          Instance method to get the complete message, using the provided resource bundle name as specified when this instance was constructed If for some reason the message could not be found, we return a default message using the message arguments
static java.lang.String getCompleteMessage(java.lang.String messageId, java.lang.String resourceBundleName, java.lang.Object[] arguments)
          This is a wrapper for the getCompleteMessage workhorse routine using some obvious defaults, particularly for non-engine subsystems that only ever use the default locale.
 java.lang.String getTextMessage(java.lang.String messageID)
          Get a message with default locale - no arguments
 java.lang.String getTextMessage(java.lang.String messageID, java.lang.Object a1)
          Get a message with default locale - one argument
 java.lang.String getTextMessage(java.lang.String messageID, java.lang.Object a1, java.lang.Object a2)
          Get a message with default locale - two arguments
 java.lang.String getTextMessage(java.lang.String messageID, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3)
          Get a message with default locale - three arguments
 java.lang.String getTextMessage(java.lang.String messageID, java.lang.Object a1, java.lang.Object a2, java.lang.Object a3, java.lang.Object a4)
          Get a message with default locale - four arguments
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

US

public static final java.util.Locale US

resourceBundleName

private java.lang.String resourceBundleName
The name of the resource bundle we are using to load messages

Constructor Detail

MessageUtil

public MessageUtil(java.lang.String resourceBundleName)
Create an instance of MessageUtil with a specific resource bundle. This assumes the default locale, which is just fine for users of this class other than the engine (which potentially has a different locale and a different resource bundle for each invocation of getCompleteMessage().

Parameters:
resourceBundleName - The base name of the resource bundle to use.
Method Detail

getTextMessage

public java.lang.String getTextMessage(java.lang.String messageID)
Get a message with default locale - no arguments


getTextMessage

public java.lang.String getTextMessage(java.lang.String messageID,
                                       java.lang.Object a1)
Get a message with default locale - one argument


getTextMessage

public java.lang.String getTextMessage(java.lang.String messageID,
                                       java.lang.Object a1,
                                       java.lang.Object a2)
Get a message with default locale - two arguments


getTextMessage

public java.lang.String getTextMessage(java.lang.String messageID,
                                       java.lang.Object a1,
                                       java.lang.Object a2,
                                       java.lang.Object a3)
Get a message with default locale - three arguments


getTextMessage

public java.lang.String getTextMessage(java.lang.String messageID,
                                       java.lang.Object a1,
                                       java.lang.Object a2,
                                       java.lang.Object a3,
                                       java.lang.Object a4)
Get a message with default locale - four arguments


getCompleteMessage

public java.lang.String getCompleteMessage(java.lang.String messageID,
                                           java.lang.Object[] args)
Instance method to get the complete message, using the provided resource bundle name as specified when this instance was constructed If for some reason the message could not be found, we return a default message using the message arguments


getCompleteMessage

public static java.lang.String getCompleteMessage(java.util.Locale locale,
                                                  java.lang.String resourceBundleName,
                                                  java.lang.String messageId,
                                                  java.lang.Object[] arguments,
                                                  boolean composeDefault)
                                           throws java.util.MissingResourceException
Generic routine to get a message with any number of arguments. Looks in the provided resource bundle for the message, using the specified locale and then the US locale.

Parameters:
locale - The locale to use when looking for the message. If the message is not found using this locale, we attempt to find it using the US locale (our default).
resourceBundleName - The base name for the resource bundle to use.
messageId - The message identifier for this message
arguments - The arguments for the message
composeDefault - If this is true, this method will compose a default message if the message could not be found in the provided resource bundles. If it is false, this method will throw a MissingResourceException if the message could not be found.
Returns:
The message for the given message id, with arguments substituted.
Throws:
java.util.MissingResourceException - If the message could not be found and the composeDefault parameter was set to false.

getCompleteMessage

public static java.lang.String getCompleteMessage(java.lang.String messageId,
                                                  java.lang.String resourceBundleName,
                                                  java.lang.Object[] arguments)
                                           throws java.util.MissingResourceException
This is a wrapper for the getCompleteMessage workhorse routine using some obvious defaults, particularly for non-engine subsystems that only ever use the default locale. Get a message using the default locale. If the message is not found with the default locale, use the US locale. Do this both for the common bundle and the parent bundle. If the message is not found in common or in the parent resource bundle, return a default message composed of the message arguments.

Parameters:
messageId - The id to use to look up the message
resourceBundleName - The base name of the resource bundle to use.
arguments - The arguments to the message
Throws:
java.util.MissingResourceException

formatMessage

public static java.lang.String formatMessage(java.util.ResourceBundle bundle,
                                             java.lang.String messageId,
                                             java.lang.Object[] arguments,
                                             boolean composeDefault)
Format a message given a resource bundle and a message id.

The arguments to the messages are passed via an object array. The objects in the array WILL be changed by this class. The caller should NOT get the object back from this array.

Parameters:
bundle - The resource bundle to use to look for the message
messageId - The message id to use for the message
arguments - The arguments for the message
composeDefault - Indicates whether a default message should be composed if the message can't be found in the resource bundle.

If composeDefault is false, this method will throw a MissingResourceException if the message could not be found.

If composeDefault is true, then if the message id is not found in the given bundle, this method composes and returns as helpful a message as possible in the format "UNKNOWN : [arg1], [arg2], ..."


countParams

private static int countParams(java.lang.String message)
Count the number of substituation parameters in the message


composeDefaultMessage

public static java.lang.String composeDefaultMessage(java.lang.String message,
                                                     java.lang.Object[] arguments)
Compose a default message so that the user at least gets *something* useful rather than just a MissingResourceException, which is particularly unhelpful

Parameters:
message - The message to start with, which often is null
arguments - The arguments to the message.

Built on Thu 2012-03-29 21:53:33+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.