Enum MessagePattern.ApostropheMode

java.lang.Object
java.lang.Enum<MessagePattern.ApostropheMode>
com.ibm.icu.text.MessagePattern.ApostropheMode
All Implemented Interfaces:
Serializable, Comparable<MessagePattern.ApostropheMode>, java.lang.constant.Constable
Enclosing class:
MessagePattern

public static enum MessagePattern.ApostropheMode extends Enum<MessagePattern.ApostropheMode>
Mode for when an apostrophe starts quoted literal text for MessageFormat output. The default is DOUBLE_OPTIONAL unless overridden via ICUConfig (/com/ibm/icu/ICUConfig.properties).

A pair of adjacent apostrophes always results in a single apostrophe in the output, even when the pair is between two single, text-quoting apostrophes.

The following table shows examples of desired MessageFormat.format() output with the pattern strings that yield that output.

Desired output DOUBLE_OPTIONAL DOUBLE_REQUIRED
I see {many} I see '{many}' (same)
I said {'Wow!'} I said '{''Wow!''}' (same)
I don't know I don't know OR
I don''t know
I don''t know
  • Enum Constant Details

    • DOUBLE_OPTIONAL

      public static final MessagePattern.ApostropheMode DOUBLE_OPTIONAL
      A literal apostrophe is represented by either a single or a double apostrophe pattern character. Within a MessageFormat pattern, a single apostrophe only starts quoted literal text if it immediately precedes a curly brace {}, or a pipe symbol | if inside a choice format, or a pound symbol # if inside a plural format.

      This is the default behavior starting with ICU 4.8.

    • DOUBLE_REQUIRED

      public static final MessagePattern.ApostropheMode DOUBLE_REQUIRED
      A literal apostrophe must be represented by a double apostrophe pattern character. A single apostrophe always starts quoted literal text.

      This is the behavior of ICU 4.6 and earlier, and of MessageFormat.

  • Method Details

    • values

      public static MessagePattern.ApostropheMode[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static MessagePattern.ApostropheMode valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null