MessagePattern Classe

Définition

Analyse et représente les modèles 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
Héritage
MessagePattern
Attributs
Implémente

Remarques

Analyse et représente les modèles ICU MessageFormat. Gère également les modèles pour ChoiceFormat, PluralFormat et SelectFormat. Utilisé dans les implémentations de ces classes ainsi que dans les outils de validation, de traduction et de conversion de format des messages.

L’analyseur gère toutes les syntaxes pertinentes pour identifier les arguments de message. Cela inclut des arguments « complexes » dont les chaînes de style contiennent des sous-chaînes de modèle MessageFormat imbriquées. Pour les arguments « simples » (sans sous-chaînes de modèle MessageFormat imbriquées), le style d’argument n’est pas analysé plus loin.

L’analyseur gère les arguments de message nommés et numérotés et autorise les deux dans un message.

Une fois qu’un modèle a été analysé avec succès, effectuez une itération dans les données analysées avec countParts(), getPart() et les méthodes associées.

Les données représentent logiquement une arborescence d’analyse, mais sont stockées et accessibles sous la forme d’une liste de « parties » pour l’analyse rapide et simple et pour réduire les allocations d’objets. Les arguments et les messages imbriqués sont mieux gérés via la récursivité. Pour chaque _START « part », #getLimitPartIndex(int) retourne efficacement l’index du _LIMIT « part » correspondant.

Liste des « parties » :

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)+

<Le texte de sortie littéral ul><li>n’est pas représenté directement par « parties », mais accessible entre les parties d’un message, de getLimit() d’une partie à l’élément suivant getIndex(). <li>ARG_START.CHOICE représente une partie ARG_START avec ArgType CHOICE. liIn the choiceStyle, the ARG_SELECTOR has the '<', the '#' ou the moins-than-or-equal-to sign (U+2264). <li>Dans le pluralStyle, le premier composant numérique facultatif a la valeur « offset : ». La partie numérique facultative entre chaque paire (ARG_SELECTOR, message) est la valeur d’un sélecteur de nombre explicite comme « =2 », sinon le sélecteur est un identificateur non numérique. <li>Le composant REPLACE_NUMBER peut se produire uniquement dans un sous-message immédiat du pluralStyle. </ul>

Cette classe n’est pas destinée à la sous-classe publique.

Java documentation pour android.icu.text.MessagePattern.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
MessagePattern()

Construit un MessagePattern vide avec apostropheMode par défaut.

MessagePattern(MessagePattern+ApostropheMode)

Analyse et représente les modèles ICU MessageFormat.

MessagePattern(String)

Construit un MessagePattern avec apostropheMode par défaut et analyse la chaîne de modèle MessageFormat.

Champs

Nom Description
ArgNameNotNumber

Retourne la valeur à partir de #validateArgumentName(String) laquelle la chaîne est un « identificateur de modèle » valide, mais pas un nombre.

ArgNameNotValid

Valeur de retour à partir de #validateArgumentName(String) laquelle la chaîne n’est pas valide.

NoNumericValue

Valeur spéciale retournée par getNumericValue(Part) lorsqu’aucune valeur numérique n’est définie pour une partie.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
HasNamedArguments

Le modèle analysé a-t-il des arguments nommés comme {first_name} ?

HasNumberedArguments

Le modèle analysé a-t-il des arguments numérotés comme {2}?

IsFrozen

Détermine si cet objet est figé (immuable) ou non.

JniIdentityHashCode

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
JniPeerMembers

Analyse et représente les modèles ICU MessageFormat.

PatternString

Analyse et représente les modèles ICU MessageFormat.

PeerReference

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)
ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)

Méthodes

Nom Description
AutoQuoteApostropheDeep()

Retourne une version de la chaîne de modèle analysée où chaque apostrophe ASCII est doublée (échappée) si ce n’est pas déjà fait et s’il n’est pas interprété comme une syntaxe de guillemets.

Clear()

Efface ce MessagePattern.

ClearPatternAndSetApostropheMode(MessagePattern+ApostropheMode)

Analyse et représente les modèles ICU MessageFormat.

Clone()

Crée et retourne une copie de cet objet.

CloneAsThawed()

Crée et retourne une copie sans fin de cet objet.

CountParts()

Retourne le nombre de « parties » créées en analysant la chaîne de modèle.

Dispose()

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
Dispose(Boolean)

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
Freeze()

Fige cet objet, ce qui le rend immuable et thread-safe.

GetApostropheMode()

Analyse et représente les modèles ICU MessageFormat.

GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
GetLimitPartIndex(Int32)

Retourne l’index de l’ARG|MSG_LIMIT partie correspondant à l’ARG|MSG_START au début.

GetNumericValue(MessagePattern+Part)

Analyse et représente les modèles ICU MessageFormat.

GetPart(Int32)

Analyse et représente les modèles ICU MessageFormat.

GetPartType(Int32)

Analyse et représente les modèles ICU MessageFormat.

GetPatternIndex(Int32)

Retourne l’index de modèle du modèle spécifié « part ».

GetPluralOffset(Int32)

Retourne la valeur « offset : » d’un argument PluralFormat, ou 0 si aucune valeur n’est spécifiée.

GetSubstring(MessagePattern+Part)

Analyse et représente les modèles ICU MessageFormat.

JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
Parse(String)

Analyse une chaîne de modèle MessageFormat.

ParseChoiceStyle(String)

Analyse une chaîne de modèle ChoiceFormat.

ParsePluralStyle(String)

Analyse une chaîne de modèle PluralFormat.

ParseSelectStyle(String)

Analyse une chaîne de modèle SelectFormat.

PartSubstringMatches(MessagePattern+Part, String)

Analyse et représente les modèles ICU MessageFormat.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
ToArray<T>()

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
UnregisterFromRuntime()

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
ValidateArgumentName(String)

Valide et analyse un nom d’argument ou une chaîne de numéro d’argument.

Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IFreezable.CloneAsThawed()

Analyse et représente les modèles ICU MessageFormat.

IFreezable.Freeze()

Analyse et représente les modèles ICU MessageFormat.

IJavaPeerable.Disposed()

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
IJavaPeerable.DisposeUnlessReferenced()

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
IJavaPeerable.Finalized()

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Analyse et représente les modèles ICU MessageFormat.

(Hérité de Object)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Analyse et représente les modèles ICU MessageFormat.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à