當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。