Class CmsMultiMessages

java.lang.Object
org.opencms.i18n.CmsMessages
org.opencms.i18n.CmsMultiMessages
Direct Known Subclasses:
CmsWorkplaceMessages

public class CmsMultiMessages extends CmsMessages
Provides access to the localized messages for several resource bundles simultaneously.

Messages are cached for faster lookup. If a localized key is contained in more then one resource bundle, it will be used only from the resource bundle where it was first found in. The resource bundle order is undefined. It is therefore recommended to ensure the uniqueness of all module keys by placing a special prefix in front of all keys of a resource bundle.

Since:
6.0.0
  • Field Details

  • Constructor Details

    • CmsMultiMessages

      public CmsMultiMessages(Locale locale)
      Constructor for creating a new messages object initialized with the given locale.

      Parameters:
      locale - the locale to use for localization of the messages
  • Method Details

    • addBundle

      public void addBundle(I_CmsMessageBundle bundle)
      Adds a bundle instance to this multi message bundle.

      The added bundle will be localized with the locale of this multi message bundle.

      Parameters:
      bundle - the bundle instance to add
    • addMessages

      public void addMessages(CmsMessages messages) throws CmsIllegalArgumentException
      Adds a messages instance to this multi message bundle.

      The messages instance should have been initialized with the same locale as this multi bundle, if not, the locale of the messages instance is automatically replaced. However, this will not work if the added messages instance is in face also of type CmsMultiMessages.

      Parameters:
      messages - the messages instance to add
      Throws:
      CmsIllegalArgumentException - if the locale of the given CmsMultiMessages does not match the locale of this multi messages
    • addMessages

      public void addMessages(List<CmsMessages> messages)
      Adds a list a messages instances to this multi message bundle.

      Parameters:
      messages - the messages instance to add
    • getMessages

      Returns the list of all individual message objects in this multi message instance.

      Returns:
      the list of all individual message objects in this multi message instance
    • getString

      public String getString(String keyName)
      Description copied from class: CmsMessages
      Directly calls the getString(String) method of the wrapped ResourceBundle.

      If you use this this class on a template, you should consider using the CmsMessages.key(String) method to get the value from the ResourceBundle because it handles the exception for you in a convenient way.

      Overrides:
      getString in class CmsMessages
      Parameters:
      keyName - the key
      Returns:
      the resource string for the given key
      See Also:
    • isInitialized

      public boolean isInitialized()
      Description copied from class: CmsMessages
      Checks if the bundle was properly initialized.
      Overrides:
      isInitialized in class CmsMessages
      Returns:
      true if bundle was initialized, false otherwise
      See Also:
    • key

      public String key(String keyName, boolean allowNull)
      Description copied from class: CmsMessages
      Returns the localized resource string for a given message key.

      If the key was not found in the bundle, the return value depends on the setting of the allowNull parameter. If set to false, the return value is always a String in the format "??? " + keyName + " ???". If set to true, null is returned if the key is not found. This will also be returned if the bundle was not properly initialized first.

      Overrides:
      key in class CmsMessages
      Parameters:
      keyName - the key for the desired string
      allowNull - if true, 'null' is an allowed return value
      Returns:
      the resource string for the given key
      See Also:
    • setFallbackHandler

      Sets the key fallback handler.

      Parameters:
      fallbackHandler - the new key fallback handler