PluralRules Classe

Definição

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

[Android.Runtime.Register("android/icu/text/PluralRules", ApiSince=24, DoNotGenerateAcw=true)]
public class PluralRules : Java.Lang.Object, IDisposable, Java.IO.ISerializable
[<Android.Runtime.Register("android/icu/text/PluralRules", ApiSince=24, DoNotGenerateAcw=true)>]
type PluralRules = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Herança
PluralRules
Atributos
Implementações

Comentários

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

As regras são construídas a partir de uma descrição de texto, que consiste em uma série de palavras-chave e condições. O #select método examina cada condição em ordem e retorna a palavra-chave para a primeira condição que corresponde ao número. Se nenhuma correspondência for retornada #KEYWORD_OTHER .

Um objeto PluralRules é imutável. Ele contém caches para valores de exemplo, mas eles são sincronizados.

PluralRules é serializável para que possa ser usado em formatadores, que são serializáveis.

Para obter mais informações, detalhes e dicas para escrever regras, consulte a especificação LDML, Parte 3.5 Regras do Plural de Idiomas

Exemplos:

&quot;one: n is 1; few: n in 2..4&quot;

Isso define duas regras, para "uma" e "poucas". A condição para "um" é "n é 1", o que significa que o número deve ser igual a 1 para que essa condição passe. A condição para "poucos" é "n em 2..4", o que significa que o número deve estar entre 2 e 4 inclusive - e ser um inteiro - para que essa condição passe. Todos os outros números recebem a palavra-chave "outro" pela regra padrão.

&quot;zero: n is 0; one: n is 1; zero: n mod 100 in 1..19&quot;

Isso ilustra que a mesma palavra-chave pode ser definida várias vezes. Cada regra é examinada em ordem e a primeira palavra-chave cuja condição é aprovada é a retornada. Também observa que um módulo é aplicado a n na última regra. Portanto, sua condição se mantém para 119, 219, 319...

&quot;one: n is 1; few: n mod 10 in 2..4 and n mod 100 not in 12..14&quot;

Isso ilustra a conjunção e negação. A condição para 'poucos' tem duas partes, ambas devem ser atendidas: "n mod 10 em 2..4" e "n mod 100 não em 12..14". A primeira parte aplica um módulo a n antes do teste como no exemplo anterior. A segunda parte aplica um módulo diferente e também usa negação, portanto, corresponde a todos os números não em 12, 13, 14, 112, 113, 114, 212, 213, 214...

Sintaxe:

rules         = rule (';' rule)*
            rule          = keyword ':' condition
            keyword       = &lt;identifier&gt;
            condition     = and_condition ('or' and_condition)*
            and_condition = relation ('and' relation)*
            relation      = not? expr not? rel not? range_list
            expr          = ('n' | 'i' | 'f' | 'v' | 't') (mod value)?
            not           = 'not' | '!'
            rel           = 'in' | 'is' | '=' | '≠' | 'within'
            mod           = 'mod' | '%'
            range_list    = (range | value) (',' range_list)*
            value         = digit+
            digit         = 0|1|2|3|4|5|6|7|8|9
            range         = value'..'value

Cada <termo b>não</b> inverte o significado; no entanto, não deve haver mais de um deles.

Os valores i, f, t e v são definidos da seguinte maneira:

<ul><li>i para ser os dígitos inteiros.</li><li>f para ser os dígitos decimais visíveis, como um inteiro.</li><li>t para ser os dígitos decimais visíveis — sem zeros à direita — como um inteiro.</li><li>v para ser o número de dígitos de fração visíveis.</li><li>j é definido para corresponder apenas a inteiros. Isso é j é 3 falha se v != 0 (por exemplo, para 3.1 ou 3.0).</li></ul>

Os exemplos estão na tabela a seguir:

<table border='1' style="border-collapse:collapse">tbody<>tr<>th<n>/th th<><i>/th th<><> f/th th<><v>/th<>/tr<>tr td<><1.0>/td td<><1>/td td<>align="right"<0>/td<>td<1>/td<>/tr<>tr<>td<1.00>/td td<1>/td<><><td align="right">0</td td><>2</td></tr><tr><td>1.3</td td><>1</td td><align="right">3</td td><>1</td></tr><tr><td>1.03</td td><>1</td td><align="right">3</td td><>2</td></tr tr><><td>1.23</td td><>1</td td><align="right">23</td td><>2</td></tr></tbody></table>

Um "identificador" é uma sequência de caracteres que não têm as propriedades unicode Pattern_Syntax ou Pattern_White_Space.

A diferença entre 'in' e 'within' é que 'in' inclui apenas inteiros no intervalo especificado, enquanto 'within' inclui todos os valores. Usar 'within' com um range_list que consiste inteiramente em valores é o mesmo que usar 'in' (não é um erro).

Documentação Java para android.icu.text.PluralRules.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Construtores

Nome Description
PluralRules(IntPtr, JniHandleOwnership)

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

Campos

Nome Description
KeywordFew

Nome comum para o formato 'paucal' ou outro formato plural especial.

KeywordMany

Nome comum para a forma plural árabe (11 a 99).

KeywordOne

Nome comum para a forma plural 'singular'.

KeywordOther

Nome comum para o formulário plural padrão.

KeywordTwo

Nome comum para o formulário plural 'dual'.

KeywordZero

Nome comum para o formulário plural 'zero'.

NoUniqueValue

Valor retornado quando #getUniqueKeywordValue não há nenhum valor exclusivo a ser retornado.

Propriedades

Nome Description
Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Default

As regras padrão que aceitam qualquer número e retornam #KEYWORD_OTHER.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
JniPeerMembers

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

Keywords

Retorna um conjunto de todas as palavras-chave de regra usadas neste PluralRules objeto.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ThresholdClass

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

ThresholdType

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

Métodos

Nome Description
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
CreateRules(String)

Cria um PluralRules de uma descrição se ele for parsable, caso contrário, retornará nulo.

Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
Equals(Object)

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
Equals(PluralRules)

Retornará true se rhs for igual a isso.

ForLocale(Locale, PluralRules+PluralType)

Fornece acesso aos PluralRules predefinidos para uma determinada Localidade e o tipo plural.

ForLocale(Locale)

Fornece acesso ao número PluralRules cardinal predefinido para um determinado java.util.Locale.

ForLocale(ULocale, PluralRules+PluralType)

Fornece acesso ao PluralRules predefinido para uma determinada localidade e o tipo plural.

ForLocale(ULocale)

Fornece acesso ao número PluralRules cardinal predefinido para uma determinada localidade.

GetAllKeywordValues(String)

Retorna todos os valores que disparam essa palavra-chave ou nulo se o número desses valores for ilimitado.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
GetSamples(String)

Retorna uma lista de valores inteiros para os quais select() retornaria essa palavra-chave ou nulo se a palavra-chave não estiver definida.

GetUniqueKeywordValue(String)

Retorna o valor exclusivo que essa palavra-chave corresponde ou #NO_UNIQUE_VALUE se a palavra-chave corresponde a vários valores ou não está definida para este PluralRules.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor desse objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
ParseDescription(String)

Analisa uma descrição de regras plural e retorna um PluralRules.

Select(Double)

Dado um número de ponto flutuante, retorna a palavra-chave da primeira regra que se aplica ao número.

Select(FormattedNumber)

Dado um número formatado, retorna a palavra-chave da primeira regra que se aplica ao número.

Select(FormattedNumberRange)

Dado um intervalo de números formatado, retorna a forma plural geral do intervalo.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que seja despertado, normalmente sendo <notificado></em> ou <em>interrompido</em>.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

(Herdado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada pelo tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a