Class AdvancedMessageFormat

java.lang.Object
org.docx4j.org.apache.fop.util.text.AdvancedMessageFormat

public class AdvancedMessageFormat
extends java.lang.Object
Formats messages based on a template and with a set of named parameters. This is similar to MessageFormat but uses named parameters and supports conditional sub-groups.

Example:

Missing field "{fieldName}"[ at location: {location}]!

  • Curly brackets ("{}") are used for fields.
  • Square brackets ("[]") are used to delimit conditional sub-groups. A sub-group is conditional when all fields inside the sub-group have a null value. In the case, everything between the brackets is skipped.
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static interface  AdvancedMessageFormat.Function
    Implementations of this interface do some computation based on the message parameters given to it.
    static interface  AdvancedMessageFormat.ObjectFormatter
    Implementations of this interface format certain objects to strings.
    static interface  AdvancedMessageFormat.Part
    Represents a message template part.
    static interface  AdvancedMessageFormat.PartFactory
    Implementations of this interface parse a field part and return message parts.
  • Constructor Summary

    Constructors
    Constructor Description
    AdvancedMessageFormat​(java.lang.CharSequence pattern)
    Construct a new message format.
  • Method Summary

    Modifier and Type Method Description
    java.lang.String format​(java.util.Map<java.lang.String,​java.lang.Object> params)
    Formats a message with the given parameters.
    void format​(java.util.Map<java.lang.String,​java.lang.Object> params, java.lang.StringBuffer target)
    Formats a message with the given parameters.
    static void formatObject​(java.lang.Object obj, java.lang.StringBuffer target)
    Formats an object to a string and writes the result to a string buffer.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AdvancedMessageFormat

      public AdvancedMessageFormat​(java.lang.CharSequence pattern)
      Construct a new message format.
      Parameters:
      pattern - the message format pattern.
  • Method Details

    • format

      public java.lang.String format​(java.util.Map<java.lang.String,​java.lang.Object> params)
      Formats a message with the given parameters.
      Parameters:
      params - a Map of named parameters (Contents: <String, Object>)
      Returns:
      the formatted message
    • format

      public void format​(java.util.Map<java.lang.String,​java.lang.Object> params, java.lang.StringBuffer target)
      Formats a message with the given parameters.
      Parameters:
      params - a Map of named parameters (Contents: <String, Object>)
      target - the target StringBuffer to write the formatted message to
    • formatObject

      public static void formatObject​(java.lang.Object obj, java.lang.StringBuffer target)
      Formats an object to a string and writes the result to a string buffer. This method usually uses the object's toString() method unless there is an AdvancedMessageFormat.ObjectFormatter that supports the object. AdvancedMessageFormat.ObjectFormatters are registered through the service provider mechanism defined by the JAR specification.
      Parameters:
      obj - the object to be formatted
      target - the target string buffer