Enum MessagePattern.ApostropheMode

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<MessagePattern.ApostropheMode>
    Enclosing class:
    MessagePattern

    public static enum MessagePattern.ApostropheMode
    extends java.lang.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 Summary

      Enum Constants 
      Enum Constant Description
      DOUBLE_OPTIONAL
      A literal apostrophe is represented by either a single or a double apostrophe pattern character.
      DOUBLE_REQUIRED
      A literal apostrophe must be represented by a double apostrophe pattern character.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static MessagePattern.ApostropheMode valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static MessagePattern.ApostropheMode[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • 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 Detail

      • values

        public static MessagePattern.ApostropheMode[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (MessagePattern.ApostropheMode c : MessagePattern.ApostropheMode.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static MessagePattern.ApostropheMode valueOf​(java.lang.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:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null