MessagePattern クラス

定義

ICU MessageFormat パターンを解析して表します。

[Android.Runtime.Register("android/icu/text/MessagePattern", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class MessagePattern : Java.Lang.Object, Android.Icu.Util.IFreezable, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/icu/text/MessagePattern", ApiSince=24, DoNotGenerateAcw=true)>]
type MessagePattern = class
    inherit Object
    interface IFreezable
    interface ICloneable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
継承
MessagePattern
属性
実装

注釈

ICU MessageFormat パターンを解析して表します。 ChoiceFormat、PluralFormat、SelectFormat のパターンも処理します。 これらのクラスの実装や、メッセージの検証、翻訳、および形式変換用のツールで使用されます。

パーサーは、メッセージ引数の識別に関連するすべての構文を処理します。 これには、スタイル文字列に入れ子になった MessageFormat パターンの部分文字列が含まれる "複合" 引数が含まれます。 "simple" 引数 (入れ子になった MessageFormat パターン部分文字列を含まない) の場合、引数スタイルはそれ以上解析されません。

パーサーは名前付きメッセージ引数と番号付きメッセージ引数を処理し、両方を 1 つのメッセージで許可します。

パターンが正常に解析されたら、countParts()、getPart() および関連メソッドを使用して解析されたデータを反復処理します。

データは論理的には解析ツリーを表しますが、高速で簡単な解析を行い、オブジェクトの割り当てを最小限に抑えるために、"パーツ" の一覧として格納およびアクセスされます。 引数と入れ子になったメッセージは、再帰によって最適に処理されます。 "part" _STARTごとに、 #getLimitPartIndex(int) は対応する_LIMIT "part" のインデックスを効率的に返します。

"parts" の一覧:

message = MSG_START (SKIP_SYNTAX | INSERT_CHAR | REPLACE_NUMBER | argument)* MSG_LIMIT
            argument = noneArg | simpleArg | complexArg
            complexArg = choiceArg | pluralArg | selectArg

            noneArg = ARG_START.NONE (ARG_NAME | ARG_NUMBER) ARG_LIMIT.NONE
            simpleArg = ARG_START.SIMPLE (ARG_NAME | ARG_NUMBER) ARG_TYPE [ARG_STYLE] ARG_LIMIT.SIMPLE
            choiceArg = ARG_START.CHOICE (ARG_NAME | ARG_NUMBER) choiceStyle ARG_LIMIT.CHOICE
            pluralArg = ARG_START.PLURAL (ARG_NAME | ARG_NUMBER) pluralStyle ARG_LIMIT.PLURAL
            selectArg = ARG_START.SELECT (ARG_NAME | ARG_NUMBER) selectStyle ARG_LIMIT.SELECT

            choiceStyle = ((ARG_INT | ARG_DOUBLE) ARG_SELECTOR message)+
            pluralStyle = [ARG_INT | ARG_DOUBLE] (ARG_SELECTOR [ARG_INT | ARG_DOUBLE] message)+
            selectStyle = (ARG_SELECTOR message)+

<ul><li>Literal 出力テキストは "parts" で直接表されるのではなく、ある部分の getLimit() から次のパートの getIndex() まで、メッセージの一部間でアクセスされます。 <li>ARG_START.CHOICE は ArgType CHOICE を持つARG_START パーツを表します。 li choiceStyle では、ARG_SELECTORには '<'、'#' 、または等しくない符号 (U+2264) があります。 <li> pluralStyle では、最初の省略可能な数値 Part に "offset:" 値があります。 各 (ARG_SELECTOR、メッセージ) ペアの間の省略可能な数値部分は、"=2" のような明示的な数値セレクターの値です。それ以外の場合、セレクターは数値以外の識別子です。 <li>REPLACE_NUMBER パーツは pluralStyle の即時サブメッセージでのみ発生します。 </ul>

このクラスはパブリック サブクラス化を目的としていません。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
MessagePattern()

既定の ApostropheMode を使用して空の MessagePattern を構築します。

MessagePattern(MessagePattern+ApostropheMode)

ICU MessageFormat パターンを解析して表します。

MessagePattern(String)

既定の ApostropheMode を使用して MessagePattern を構築し、MessageFormat パターン文字列を解析します。

フィールド

名前 説明
ArgNameNotNumber

文字列が有効な "パターン識別子" であり、数値ではない場合の #validateArgumentName(String) からの戻り値。

ArgNameNotValid

文字列が無効な場合の #validateArgumentName(String) からの戻り値。

NoNumericValue

パーツに数値が定義されていない場合に getNumericValue(Part) によって返される特殊な値。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
HasNamedArguments

解析されたパターンには{first_name}のような名前付き引数がありますか?

HasNumberedArguments

解析されたパターンには、 {2}のような番号付き引数がありますか?

IsFrozen

このオブジェクトが固定されている (変更できない) かどうかを判断します。

JniIdentityHashCode

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
JniPeerMembers

ICU MessageFormat パターンを解析して表します。

PatternString

ICU MessageFormat パターンを解析して表します。

PeerReference

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)
ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)

メソッド

名前 説明
AutoQuoteApostropheDeep()

解析されたパターン文字列のバージョンを返します。各 ASCII アポストロフィがまだない場合、および引用符構文として解釈されない場合は、ASCII アポストロフィが 2 倍 (エスケープ) されます。

Clear()

この MessagePattern をクリアします。

ClearPatternAndSetApostropheMode(MessagePattern+ApostropheMode)

ICU MessageFormat パターンを解析して表します。

Clone()

このオブジェクトのコピーを作成して返します。

CloneAsThawed()

このオブジェクトのfrozenコピーを作成して返します。

CountParts()

パターン文字列を解析して作成された "parts" の数を返します。

Dispose()

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
Dispose(Boolean)

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
Freeze()

このオブジェクトを固定し、不変でスレッド セーフにします。

GetApostropheMode()

ICU MessageFormat パターンを解析して表します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetLimitPartIndex(Int32)

ARG| のインデックスを返します。ARGに対応するMSG_LIMITパーツ|開始時にMSG_STARTします。

GetNumericValue(MessagePattern+Part)

ICU MessageFormat パターンを解析して表します。

GetPart(Int32)

ICU MessageFormat パターンを解析して表します。

GetPartType(Int32)

ICU MessageFormat パターンを解析して表します。

GetPatternIndex(Int32)

指定したパターン "part" のパターン インデックスを返します。

GetPluralOffset(Int32)

PluralFormat 引数の "offset:" 値を返します。指定しない場合は 0 を返します。

GetSubstring(MessagePattern+Part)

ICU MessageFormat パターンを解析して表します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Parse(String)

MessageFormat パターン文字列を解析します。

ParseChoiceStyle(String)

ChoiceFormat パターン文字列を解析します。

ParsePluralStyle(String)

PluralFormat パターン文字列を解析します。

ParseSelectStyle(String)

SelectFormat パターン文字列を解析します。

PartSubstringMatches(MessagePattern+Part, String)

ICU MessageFormat パターンを解析して表します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
ToArray<T>()

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
ValidateArgumentName(String)

引数の名前または引数番号の文字列を検証して解析します。

Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IFreezable.CloneAsThawed()

ICU MessageFormat パターンを解析して表します。

IFreezable.Freeze()

ICU MessageFormat パターンを解析して表します。

IJavaPeerable.Disposed()

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
IJavaPeerable.Finalized()

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

ICU MessageFormat パターンを解析して表します。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

ICU MessageFormat パターンを解析して表します。

(継承元 Object)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

ICU MessageFormat パターンを解析して表します。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象