java.text.MessageFormat#getFormats ( )源码实例Demo

下面列出了java.text.MessageFormat#getFormats ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: egeria   文件: MessageFormatter.java
/**
 * Format the message.
 *
 * @param messageTemplate message with placeholders
 * @param messageParameters parameters to insert into placeholders
 * @return formatted message
 */
private String formatMessage(String     messageTemplate,
                             String[]   messageParameters)
{
    MessageFormat mf        = new MessageFormat(messageTemplate);
    String formattedMessage = messageTemplate;
    int    parameterCount   = 0;

    if (messageParameters != null)
    {
        parameterCount = messageParameters.length;
        formattedMessage = mf.format(messageParameters);
    }

    if (mf.getFormats().length > parameterCount)
    {
        log.error("Missing parameter for message {}", messageTemplate);
    }

    log.debug("New message: {}", formattedMessage);

    return formattedMessage;
}
 
源代码2 项目: RipplePower   文件: LocalizedMessage.java
protected String formatWithTimeZone(
        String template,
        Object[] arguments, 
        Locale locale,
        TimeZone timezone) 
{
    MessageFormat mf = new MessageFormat(" ");
    mf.setLocale(locale);
    mf.applyPattern(template);
    if (!timezone.equals(TimeZone.getDefault())) 
    {
        Format[] formats = mf.getFormats();
        for (int i = 0; i < formats.length; i++) 
        {
            if (formats[i] instanceof DateFormat) 
            {
                DateFormat temp = (DateFormat) formats[i];
                temp.setTimeZone(timezone);
                mf.setFormat(i,temp);
            }
        }
    }
    return mf.format(arguments);
}
 
源代码3 项目: ripple-lib-java   文件: LocalizedMessage.java
protected String formatWithTimeZone(
        String template,
        Object[] arguments, 
        Locale locale,
        TimeZone timezone) 
{
    MessageFormat mf = new MessageFormat(" ");
    mf.setLocale(locale);
    mf.applyPattern(template);
    if (!timezone.equals(TimeZone.getDefault())) 
    {
        Format[] formats = mf.getFormats();
        for (int i = 0; i < formats.length; i++) 
        {
            if (formats[i] instanceof DateFormat) 
            {
                DateFormat temp = (DateFormat) formats[i];
                temp.setTimeZone(timezone);
                mf.setFormat(i,temp);
            }
        }
    }
    return mf.format(arguments);
}
 
源代码4 项目: j2objc   文件: MessageFormatTest.java
public void test_setFormats$Ljava_text_Format() throws Exception {
  MessageFormat f1 = (MessageFormat) format1.clone();

  // case 1: Test with repeating formats and max argument index < max
  // offset
  // compare getFormats() results after calls to setFormats(Format[])
  Format[] correctFormats = new Format[] {
    DateFormat.getTimeInstance(),
    new ChoiceFormat("0#off|1#on"),
    DateFormat.getTimeInstance(),
    NumberFormat.getCurrencyInstance(),
    new ChoiceFormat("1#few|2#ok|3#a lot")
  };

  f1.setFormats(correctFormats);
  Format[] formats = f1.getFormats();

  assertTrue("Test1A:Returned wrong number of formats:", correctFormats.length <= formats.length);
  for (int i = 0; i < correctFormats.length; i++) {
    assertEquals("Test1B:wrong format for argument index " + i + ":", correctFormats[i], formats[i]);
  }

  // case 2: Try to pass null argument to setFormats().
  try {
    f1.setFormats(null);
    fail();
  } catch (NullPointerException expected) {
  }
}
 
源代码5 项目: pentaho-reporting   文件: StringUtils.java
/**
 * Computes a unique name using the given known-names array as filter. This method is not intended for large
 * datasets.
 *
 * @param knownNames the list of known names.
 * @param pattern    the name pattern, which should have one integer slot to create derived names.
 * @return the unique name or null, if no unqiue name could be created.
 */
public static String makeUniqueName( final String[] knownNames, final String pattern ) {
  final HashSet<String> knownNamesSet = new HashSet<String>( knownNames.length );
  for ( int i = 0; i < knownNames.length; i++ ) {
    final String name = knownNames[ i ];
    knownNamesSet.add( name );
  }

  final MessageFormat message = new MessageFormat( pattern );
  final Object[] objects = { "" };
  final String plain = message.format( objects );
  if ( knownNamesSet.contains( plain ) == false ) {
    return plain;
  }

  final Format[] formats = message.getFormats();
  if ( formats.length == 0 ) {
    // there is no variation in this name.
    return null;
  }

  int count = 1;
  while ( count < 2000000 ) {
    objects[ 0 ] = String.valueOf( count );
    final String testFile = message.format( objects );
    if ( knownNamesSet.contains( testFile ) == false ) {
      return testFile;
    }
    count += 1;
  }

  return null;
}
 
源代码6 项目: pentaho-reporting   文件: BundleUtilities.java
public static String getUniqueName( final DocumentBundle bundle, final String pattern ) {
  if ( bundle == null ) {
    throw new NullPointerException();
  }
  if ( pattern == null ) {
    throw new NullPointerException();
  }

  final MessageFormat message = new MessageFormat( pattern );
  final Object[] objects = { "" };
  final String plain = message.format( objects );
  if ( bundle.isEntryExists( plain ) == false ) {
    return plain;
  }

  final Format[] formats = message.getFormats();
  if ( formats.length == 0 ) {
    // there is no variation in this name.
    return null;
  }

  int count = 1;
  while ( count < 2000000 ) {
    objects[ 0 ] = String.valueOf( count );
    final String testFile = message.format( objects );
    if ( bundle.isEntryExists( testFile ) == false ) {
      return testFile;
    }
    count += 1;
  }

  // If you have more than 2 million entries, you would hate me to test for the two billion entries, wont you?
  throw new IllegalStateException();
}
 
public static void main(String[] args) {
    Format[] subformats;

    MessageFormat format = new MessageFormat("{3, choice," + choicePattern + "}, {2}, {0}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, null);
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);

    format.setFormatByArgumentIndex(0, NumberFormat.getInstance());

    checkPattern(format.toPattern(), "{3,choice," + choicePattern + "}, {2}, {0,number}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, NumberFormat.getInstance());
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, NumberFormat.getInstance());

    format.setFormatsByArgumentIndex(subformats);

    checkPattern(format.toPattern(), "{3,choice," + choicePattern + "}, {2,number}, {0,choice," + choicePattern + "}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, NumberFormat.getInstance());
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, NumberFormat.getInstance());
    checkSubformat(subformats, 2, new ChoiceFormat(choicePattern));

}
 
public static void main(String[] args) {
    Format[] subformats;

    MessageFormat format = new MessageFormat("{3, choice," + choicePattern + "}, {2}, {0}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, null);
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);

    format.setFormatByArgumentIndex(0, NumberFormat.getInstance());

    checkPattern(format.toPattern(), "{3,choice," + choicePattern + "}, {2}, {0,number}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, NumberFormat.getInstance());
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, NumberFormat.getInstance());

    format.setFormatsByArgumentIndex(subformats);

    checkPattern(format.toPattern(), "{3,choice," + choicePattern + "}, {2,number}, {0,choice," + choicePattern + "}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, NumberFormat.getInstance());
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, NumberFormat.getInstance());
    checkSubformat(subformats, 2, new ChoiceFormat(choicePattern));

}
 
public static void main(String[] args) {
    Format[] subformats;

    MessageFormat format = new MessageFormat("{3, choice," + choicePattern + "}, {2}, {0}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, null);
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);

    format.setFormatByArgumentIndex(0, NumberFormat.getInstance());

    checkPattern(format.toPattern(), "{3,choice," + choicePattern + "}, {2}, {0,number}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, NumberFormat.getInstance());
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, NumberFormat.getInstance());

    format.setFormatsByArgumentIndex(subformats);

    checkPattern(format.toPattern(), "{3,choice," + choicePattern + "}, {2,number}, {0,choice," + choicePattern + "}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, NumberFormat.getInstance());
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, NumberFormat.getInstance());
    checkSubformat(subformats, 2, new ChoiceFormat(choicePattern));

}
 
public static void main(String[] args) {
    Format[] subformats;

    MessageFormat format = new MessageFormat("{3, choice," + choicePattern + "}, {2}, {0}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, null);
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);

    format.setFormatByArgumentIndex(0, NumberFormat.getInstance());

    checkPattern(format.toPattern(), "{3,choice," + choicePattern + "}, {2}, {0,number}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, NumberFormat.getInstance());
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, NumberFormat.getInstance());

    format.setFormatsByArgumentIndex(subformats);

    checkPattern(format.toPattern(), "{3,choice," + choicePattern + "}, {2,number}, {0,choice," + choicePattern + "}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, NumberFormat.getInstance());
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, NumberFormat.getInstance());
    checkSubformat(subformats, 2, new ChoiceFormat(choicePattern));

}
 
源代码11 项目: jdk8u_jdk   文件: MessageFormatsByArgumentIndex.java
public static void main(String[] args) {
    Format[] subformats;

    MessageFormat format = new MessageFormat("{3, choice," + choicePattern + "}, {2}, {0}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, null);
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);

    format.setFormatByArgumentIndex(0, NumberFormat.getInstance());

    checkPattern(format.toPattern(), "{3,choice," + choicePattern + "}, {2}, {0,number}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, NumberFormat.getInstance());
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, null);
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, NumberFormat.getInstance());

    format.setFormatsByArgumentIndex(subformats);

    checkPattern(format.toPattern(), "{3,choice," + choicePattern + "}, {2,number}, {0,choice," + choicePattern + "}");

    subformats = format.getFormatsByArgumentIndex();
    checkSubformatLength(subformats, 4);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, null);
    checkSubformat(subformats, 2, NumberFormat.getInstance());
    checkSubformat(subformats, 3, new ChoiceFormat(choicePattern));

    subformats = format.getFormats();
    checkSubformatLength(subformats, 3);
    checkSubformat(subformats, 0, new ChoiceFormat(choicePattern));
    checkSubformat(subformats, 1, NumberFormat.getInstance());
    checkSubformat(subformats, 2, new ChoiceFormat(choicePattern));

}
 
源代码12 项目: j2objc   文件: MessageFormatTest.java
public void test_setFormatByArgumentIndexILjava_text_Format() {
    // test for method setFormatByArgumentIndex(int, Format)
    MessageFormat f1 = (MessageFormat) format1.clone();
    f1.setFormatByArgumentIndex(0, DateFormat.getTimeInstance());
    f1.setFormatByArgumentIndex(4, new ChoiceFormat("1#few|2#ok|3#a lot"));

    // test with repeating formats and max argument index < max offset
    // compare getFormatsByArgumentIndex() results after calls to
    // setFormatByArgumentIndex()
    Format[] formats = f1.getFormatsByArgumentIndex();

    Format[] correctFormats = new Format[] { DateFormat.getTimeInstance(),
            new ChoiceFormat("0#off|1#on"), DateFormat.getTimeInstance(),
            NumberFormat.getCurrencyInstance(),
            new ChoiceFormat("1#few|2#ok|3#a lot") };

    assertEquals("Test1A:Returned wrong number of formats:",
            correctFormats.length, formats.length);
    for (int i = 0; i < correctFormats.length; i++) {
        assertEquals("Test1B:wrong format for argument index " + i + ":",
                correctFormats[i], formats[i]);
    }

    // compare getFormats() results after calls to
    // setFormatByArgumentIndex()
    formats = f1.getFormats();

    correctFormats = new Format[] { NumberFormat.getCurrencyInstance(),
            DateFormat.getTimeInstance(), DateFormat.getTimeInstance(),
            new ChoiceFormat("1#few|2#ok|3#a lot"),
            new ChoiceFormat("0#off|1#on"), DateFormat.getTimeInstance(), };

    assertEquals("Test1C:Returned wrong number of formats:",
            correctFormats.length, formats.length);
    for (int i = 0; i < correctFormats.length; i++) {
        assertEquals("Test1D:wrong format for pattern index " + i + ":",
                correctFormats[i], formats[i]);
    }

    // test setting argumentIndexes that are not used
    MessageFormat f2 = (MessageFormat) format2.clone();
    f2.setFormatByArgumentIndex(2, NumberFormat.getPercentInstance());
    f2.setFormatByArgumentIndex(4, DateFormat.getTimeInstance());

    formats = f2.getFormatsByArgumentIndex();
    correctFormats = format2.getFormatsByArgumentIndex();

    assertEquals("Test2A:Returned wrong number of formats:",
            correctFormats.length, formats.length);
    for (int i = 0; i < correctFormats.length; i++) {
        assertEquals("Test2B:wrong format for argument index " + i + ":",
                correctFormats[i], formats[i]);
    }

    formats = f2.getFormats();
    correctFormats = format2.getFormats();

    assertEquals("Test2C:Returned wrong number of formats:",
            correctFormats.length, formats.length);
    for (int i = 0; i < correctFormats.length; i++) {
        assertEquals("Test2D:wrong format for pattern index " + i + ":",
                correctFormats[i], formats[i]);
    }

    // test exceeding the argumentIndex number
    MessageFormat f3 = (MessageFormat) format3.clone();
    f3.setFormatByArgumentIndex(1, NumberFormat.getCurrencyInstance());

    formats = f3.getFormatsByArgumentIndex();
    assertEquals("Test3A:Returned wrong number of formats:", 0,
            formats.length);

    formats = f3.getFormats();
    assertEquals("Test3B:Returned wrong number of formats:", 0,
            formats.length);
}
 
源代码13 项目: j2objc   文件: MessageFormatTest.java
public void test_setFormatsByArgumentIndex$Ljava_text_Format() {
    MessageFormat f1 = (MessageFormat) format1.clone();

    // test with repeating formats and max argument index < max offset
    // compare getFormatsByArgumentIndex() results after calls to
    // setFormatsByArgumentIndex(Format[])
    Format[] correctFormats = new Format[] { DateFormat.getTimeInstance(),
            new ChoiceFormat("0#off|1#on"), DateFormat.getTimeInstance(),
            NumberFormat.getCurrencyInstance(),
            new ChoiceFormat("1#few|2#ok|3#a lot") };

    f1.setFormatsByArgumentIndex(correctFormats);
    Format[] formats = f1.getFormatsByArgumentIndex();

    assertEquals("Test1A:Returned wrong number of formats:",
            correctFormats.length, formats.length);
    for (int i = 0; i < correctFormats.length; i++) {
        assertEquals("Test1B:wrong format for argument index " + i + ":",
                correctFormats[i], formats[i]);
    }

    // compare getFormats() results after calls to
    // setFormatByArgumentIndex()
    formats = f1.getFormats();
    correctFormats = new Format[] { NumberFormat.getCurrencyInstance(),
            DateFormat.getTimeInstance(), DateFormat.getTimeInstance(),
            new ChoiceFormat("1#few|2#ok|3#a lot"),
            new ChoiceFormat("0#off|1#on"), DateFormat.getTimeInstance(), };

    assertEquals("Test1C:Returned wrong number of formats:",
            correctFormats.length, formats.length);
    for (int i = 0; i < correctFormats.length; i++) {
        assertEquals("Test1D:wrong format for pattern index " + i + ":",
                correctFormats[i], formats[i]);
    }

    // test setting argumentIndexes that are not used
    MessageFormat f2 = (MessageFormat) format2.clone();
    Format[] inputFormats = new Format[] { DateFormat.getDateInstance(),
            new ChoiceFormat("0#off|1#on"),
            NumberFormat.getPercentInstance(),
            NumberFormat.getCurrencyInstance(),
            DateFormat.getTimeInstance(), null, null, null,
            DateFormat.getTimeInstance() };
    f2.setFormatsByArgumentIndex(inputFormats);

    formats = f2.getFormatsByArgumentIndex();
    correctFormats = format2.getFormatsByArgumentIndex();

    assertEquals("Test2A:Returned wrong number of formats:",
            correctFormats.length, formats.length);
    for (int i = 0; i < correctFormats.length; i++) {
        assertEquals("Test2B:wrong format for argument index " + i + ":",
                correctFormats[i], formats[i]);
    }

    formats = f2.getFormats();
    correctFormats = new Format[] { NumberFormat.getCurrencyInstance(),
            DateFormat.getTimeInstance(), DateFormat.getDateInstance(),
            null, new ChoiceFormat("0#off|1#on"),
            DateFormat.getDateInstance() };

    assertEquals("Test2C:Returned wrong number of formats:",
            correctFormats.length, formats.length);
    for (int i = 0; i < correctFormats.length; i++) {
        assertEquals("Test2D:wrong format for pattern index " + i + ":",
                correctFormats[i], formats[i]);
    }

    // test exceeding the argumentIndex number
    MessageFormat f3 = (MessageFormat) format3.clone();
    f3.setFormatsByArgumentIndex(inputFormats);

    formats = f3.getFormatsByArgumentIndex();
    assertEquals("Test3A:Returned wrong number of formats:", 0,
            formats.length);

    formats = f3.getFormats();
    assertEquals("Test3B:Returned wrong number of formats:", 0,
            formats.length);

}