当前位置: 首页>>代码示例>>Java>>正文


Java MessageFormat.getFormatsByArgumentIndex方法代码示例

本文整理汇总了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
 * &lt;valueencoding&gt; rule as described in <a href="http://www.ietf.org/rfc/rfc4515.txt">RFC 4515</a>.
 * <p>
 * Example of filter template format: <code>(&amp;(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 );
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:39,代码来源:FilterEncoder.java

示例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));

}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:54,代码来源:MessageFormatsByArgumentIndex.java


注:本文中的java.text.MessageFormat.getFormatsByArgumentIndex方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。