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
[<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. Для "простых" аргументов (без вложенных подстроок шаблонов MessageFormat) стиль аргумента не анализируется дальше.

Средство синтаксического анализа обрабатывает аргументы именованных и нумерованных сообщений и разрешает оба сообщения в одном сообщении.

После успешного анализа шаблона выполните итерацию по проанализированным данным с помощью countParts(), getPart() и связанных методов.

Данные логически представляют дерево синтаксического анализа, но хранятся и получают доступ к списку "частей" для быстрого и простого анализа и минимизации выделения объектов. Аргументы и вложенные сообщения лучше всего обрабатываются с помощью рекурсии. Для каждого _START "part" #getLimitPartIndex(int) эффективно возвращает индекс соответствующего _LIMIT "part".

Список "частей":

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>Литеральный выходной текст не представлен непосредственно "частями", но обращается между частями сообщения, от getLimit() одной части до getIndex(). <li>ARG_START.CHOICE означает ARG_START часть с ArgType CHOICE. liВ выбореStyle ARG_SELECTOR имеет знак "<", "#" или "меньше или равно" (U+2264). <li>В pluralStyle первая необязательная числовая часть имеет значение "offset:". Необязательная числовая часть между каждой парой (ARG_SELECTOR, сообщение) — это значение селектора явного числа, например "=2", в противном случае селектор является нечисловым идентификатором. <li>Часть REPLACE_NUMBER может происходить только в немедленном подзаготовке pluralStyle. </ul>

Этот класс не предназначен для общедоступного подкласса.

Java документации по android.icu.text.MessagePattern.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя Описание
MessagePattern()

Создает пустой MessagePattern с ApostropheMode по умолчанию.

MessagePattern(MessagePattern+ApostropheMode)

Анализирует и представляет шаблоны ICU MessageFormat.

MessagePattern(String)

Создает MessagePattern с помощью ApostropheMode по умолчанию и анализирует строку шаблона MessageFormat.

Поля

Имя Описание
ArgNameNotNumber

Возвращает значение из #validateArgumentName(String) того, когда строка является допустимым идентификатором шаблона, но не числом.

ArgNameNotValid

Возвращает значение из #validateArgumentName(String) случая, когда строка недопустима.

NoNumericValue

Специальное значение, возвращаемое getNumericValue(Part), если для части не определено числовое значение.

Свойства

Имя Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
HasNamedArguments

Имеет ли шаблон синтаксический анализ именованные аргументы, такие как {first_name}?

HasNumberedArguments

Имеет ли шаблон синтаксический анализ нумерованные аргументы?{2}

IsFrozen

Определяет, является ли этот объект замороженным (неизменяемым) или нет.

JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
JniPeerMembers

Анализирует и представляет шаблоны ICU MessageFormat.

PatternString

Анализирует и представляет шаблоны ICU MessageFormat.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Object)
ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Object)

Методы

Имя Описание
AutoQuoteApostropheDeep()

Возвращает версию строки синтаксического шаблона, в которой каждый apostrophe ASCII двойной (escaped), если он еще не задан, и если он не интерпретируется как синтаксис кавыка.

Clear()

Очищает этот messagePattern.

ClearPatternAndSetApostropheMode(MessagePattern+ApostropheMode)

Анализирует и представляет шаблоны ICU MessageFormat.

Clone()

Создает и возвращает копию этого объекта.

CloneAsThawed()

Создает и возвращает незавершенную копию этого объекта.

Construct(JniObjectReference, JniObjectReferenceOptions)

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
CountParts()

Возвращает количество "частей", созданных путем анализа строки шаблона.

Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
Equals(Object)

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
Freeze()

Зависает этот объект, что делает его неизменяемым и потокобезопасным.

GetApostropheMode()

Анализирует и представляет шаблоны ICU MessageFormat.

GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
GetLimitPartIndex(Int32)

Возвращает индекс ARG|MSG_LIMIT часть, соответствующую ARG|MSG_START в начале.

GetNumericValue(MessagePattern+Part)

Анализирует и представляет шаблоны ICU MessageFormat.

GetPart(Int32)

Анализирует и представляет шаблоны ICU MessageFormat.

GetPartType(Int32)

Анализирует и представляет шаблоны ICU MessageFormat.

GetPatternIndex(Int32)

Возвращает индекс шаблона указанного шаблона "part".

GetPluralOffset(Int32)

Возвращает значение "offset:" аргумента PluralFormat или 0, если нет.

GetSubstring(MessagePattern+Part)

Анализирует и представляет шаблоны ICU MessageFormat.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от 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)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
ValidateArgumentName(String)

Проверяет и анализирует имя аргумента или строку номера аргумента.

Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
IFreezable.CloneAsThawed()

Анализирует и представляет шаблоны ICU MessageFormat.

IFreezable.Freeze()

Анализирует и представляет шаблоны ICU MessageFormat.

IJavaPeerable.Disposed()

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Анализирует и представляет шаблоны ICU MessageFormat.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Анализирует и представляет шаблоны ICU MessageFormat.

Методы расширения

Имя Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Анализирует и представляет шаблоны ICU MessageFormat.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к