本文整理汇总了Java中java.text.MessageFormat.getFormatsByArgumentIndex方法的典型用法代码示例。如果您正苦于以下问题:Java MessageFormat.getFormatsByArgumentIndex方法的具体用法?Java MessageFormat.getFormatsByArgumentIndex怎么用?Java MessageFormat.getFormatsByArgumentIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.text.MessageFormat
的用法示例。
在下文中一共展示了MessageFormat.getFormatsByArgumentIndex方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: format
import java.text.MessageFormat; //导入方法依赖的package包/类
/**
* Formats a filter and handles encoding of special characters in the value arguments using the
* <valueencoding> rule as described in <a href="http://www.ietf.org/rfc/rfc4515.txt">RFC 4515</a>.
* <p>
* Example of filter template format: <code>(&(cn={0})(uid={1}))</code>
*
* @param filterTemplate the filter with placeholders
* @param values the values to encode and substitute
* @return the formatted filter with escaped values
* @throws IllegalArgumentException if the number of values does not match the number of placeholders in the template
*/
public static String format( String filterTemplate, String... values )
{
if ( values == null )
{
values = EMPTY;
}
MessageFormat mf = new MessageFormat( filterTemplate, Locale.ROOT );
// check element count and argument count
Format[] formats = mf.getFormatsByArgumentIndex();
if ( formats.length != values.length )
{
// TODO: I18n
String msg = "Filter template {0} has {1} placeholders but {2} arguments provided.";
throw new IllegalArgumentException( I18n.format( msg, filterTemplate, formats.length, values.length ) );
}
// encode arguments
for ( int i = 0; i < values.length; i++ )
{
values[i] = encodeFilterValue( values[i] );
}
// format the filter
return mf.format( values );
}
示例2: main
import java.text.MessageFormat; //导入方法依赖的package包/类
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));
}