RuleBasedCollator Klasse

Definition

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

[Android.Runtime.Register("android/icu/text/RuleBasedCollator", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class RuleBasedCollator : Android.Icu.Text.Collator
[<Android.Runtime.Register("android/icu/text/RuleBasedCollator", ApiSince=24, DoNotGenerateAcw=true)>]
type RuleBasedCollator = class
    inherit Collator
Vererbung
RuleBasedCollator
Attribute

Hinweise

RuleBasedCollator ist eine konkrete Unterklasse von Collator. Sie ermöglicht die Anpassung des Collator über vom Benutzer angegebene Regelsätze. RuleBasedCollator ist so konzipiert, dass er vollständig mit dem Unicode Collation Algorithm (UCA) kompatibel ist und iso 14651 entspricht.

Ein Collator ist threadsicher nur, wenn er fixiert ist. Siehe #isFrozen() und android.icu.util.Freezable.

Benutzer werden dringend aufgefordert, das Benutzerhandbuch zu lesen, um weitere Informationen zum Sortierungsdienst zu erhalten, bevor Sie diese Klasse verwenden.

Erstellen Sie ein RuleBasedCollator aus einem Gebietsschema, indem Sie die GetInstance(Locale)-Factorymethode in der Basisklasse Collator aufrufen. Collator.getInstance(Locale) erstellt ein RuleBasedCollator-Objekt basierend auf den durch das Argumentgebietsschema definierten Sortierregeln. Wenn eine angepasste Sortierreihenfolge oder Attribute erforderlich ist, verwenden Sie den RuleBasedCollator(String)-Konstruktor mit den entsprechenden Regeln. Der angepasste RuleBasedCollator basiert auf der Sortierung der CLDR-Stammsortierung, während die Attribute und Bestellungen der Zeichen in der angegebenen Regel entsprechend angepasst werden.

RuleBasedCollator stellt korrekte Sortierreihenfolgen für die meisten gebietsschemas bereit, die in der ICU unterstützt werden. Wenn bestimmte Daten für ein Gebietsschema nicht verfügbar sind, fallen die Bestellungen schließlich auf die CLDR-Stammsortierreihenfolge zurück.

Informationen zur Syntax der Sortierregel und Details zur Anpassung finden Sie im Abschnitt zur Anpassung der Sortierung im Benutzerhandbuch.

<strong>Note</strong> that there are some differences between the Collation rule syntax used in Java and ICU4J:

<ul><li>Laut der JDK-Dokumentation: <br>Modifier '!' : Aktiviert Thai/Lao Vokalkonsonant Swapping. Wenn diese Regel in Kraft ist, wenn ein thailändischer Vokal des Bereichs \ U0E40-\ U0E44 steht vor einem thailändischen Konsonanten des Bereichs \ U0E01-\ U0E2E OR a Lao Vokal des Bereichs \ U0EC0-\ U0EC4 steht vor einem Lao-Konsonanten des Bereichs \ U0E81-\ U0EAE dann wird der Vokal nach dem Konsonanten zur Sortierung platziert. <br> Wenn eine Regel ohne den Modifizierer '!' ist, ist der Thai/Lao-Vokalkonsonant-Swapping nicht aktiviert. <Br> ICU4J's RuleBasedCollator unterstützt das Deaktivieren des Thai/Lao Vokalkonsonanten-Swappings nicht, da die UCA eindeutig besagt, dass sie unterstützt werden muss, um eine korrekte Sortierreihenfolge sicherzustellen. Wenn ein '!' gefunden wird, wird es ignoriert.</li li><>Wie in der Dokumentation der Basisklasse Collator erwähnt, wird der Kompatibilitätskompositionsmodus nicht unterstützt.</li></ul>

<starke>Beispiele/starke Beispiele<>

Erstellen von angepassten RuleBasedCollators: <blockquote>

String simple = "&amp; a &lt; b &lt; c &lt; d";
            RuleBasedCollator simpleCollator = new RuleBasedCollator(simple);

            String norwegian = "&amp; a , A &lt; b , B &lt; c , C &lt; d , D &lt; e , E "
                               + "&lt; f , F &lt; g , G &lt; h , H &lt; i , I &lt; j , "
                               + "J &lt; k , K &lt; l , L &lt; m , M &lt; n , N &lt; "
                               + "o , O &lt; p , P &lt; q , Q &lt;r , R &lt;s , S &lt; "
                               + "t , T &lt; u , U &lt; v , V &lt; w , W &lt; x , X "
                               + "&lt; y , Y &lt; z , Z &lt; &#92;u00E5 = a&#92;u030A "
                               + ", &#92;u00C5 = A&#92;u030A ; aa , AA &lt; &#92;u00E6 "
                               + ", &#92;u00C6 &lt; &#92;u00F8 , &#92;u00D8";
            RuleBasedCollator norwegianCollator = new RuleBasedCollator(norwegian);

</blockquote>

Verketten von Regeln zum Kombinieren Collatorvon "s: <blockquote">

// Create an en_US Collator object
            RuleBasedCollator en_USCollator = (RuleBasedCollator)
                Collator.getInstance(new Locale("en", "US", ""));
            // Create a da_DK Collator object
            RuleBasedCollator da_DKCollator = (RuleBasedCollator)
                Collator.getInstance(new Locale("da", "DK", ""));
            // Combine the two
            // First, get the collation rules from en_USCollator
            String en_USRules = en_USCollator.getRules();
            // Second, get the collation rules from da_DKCollator
            String da_DKRules = da_DKCollator.getRules();
            RuleBasedCollator newCollator =
                                        new RuleBasedCollator(en_USRules + da_DKRules);
            // newCollator has the combined rules

</blockquote>

Vornehmen von Änderungen an einem vorhandenen RuleBasedCollator zum Erstellen eines neuen Collator Objekts durch Anfügen von Änderungen an die vorhandene Regel: <Blockquote>

// Create a new Collator object with additional rules
            String addRules = "&amp; C &lt; ch, cH, Ch, CH";
            RuleBasedCollator myCollator =
                new RuleBasedCollator(en_USCollator.getRules() + addRules);
            // myCollator contains the new rules

</blockquote>

So ändern Sie die Reihenfolge von Nichtabstandsakzenten: <Blockquote>

// old rule with main accents
            String oldRules = "= &#92;u0301 ; &#92;u0300 ; &#92;u0302 ; &#92;u0308 "
                            + "; &#92;u0327 ; &#92;u0303 ; &#92;u0304 ; &#92;u0305 "
                            + "; &#92;u0306 ; &#92;u0307 ; &#92;u0309 ; &#92;u030A "
                            + "; &#92;u030B ; &#92;u030C ; &#92;u030D ; &#92;u030E "
                            + "; &#92;u030F ; &#92;u0310 ; &#92;u0311 ; &#92;u0312 "
                            + "&lt; a , A ; ae, AE ; &#92;u00e6 , &#92;u00c6 "
                            + "&lt; b , B &lt; c, C &lt; e, E &amp; C &lt; d , D";
            // change the order of accent characters
            String addOn = "&amp; &#92;u0300 ; &#92;u0308 ; &#92;u0302";
            RuleBasedCollator myCollator = new RuleBasedCollator(oldRules + addOn);

</blockquote>

Einfügen einer neuen primären Sortierung vor der Standardeinstellung, z. B. sortieren Sie englische Zeichen vor oder nach japanischen Zeichen im Japanischen Collator: <Blockquote>

// get en_US Collator rules
            RuleBasedCollator en_USCollator
                                   = (RuleBasedCollator)Collator.getInstance(Locale.US);
            // add a few Japanese characters to sort before English characters
            // suppose the last character before the first base letter 'a' in
            // the English collation rule is &#92;u2212
            String jaString = "&amp; &#92;u2212 &lt;&#92;u3041, &#92;u3042 &lt;&#92;u3043, "
                              + "&#92;u3044";
            RuleBasedCollator myJapaneseCollator
                         = new RuleBasedCollator(en_USCollator.getRules() + jaString);

</blockquote>

Diese Klasse ist nicht unterklassig

Java Dokumentation für android.icu.text.RuleBasedCollator.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
RuleBasedCollator(String)

Konstruktor, der die Argumentregeln für die Anpassung verwendet.

Felder

Name Beschreibung
CanonicalDecomposition
Veraltet.

Wert für den Analysemodus.

(Geerbt von Collator)
FullDecomposition
Veraltet.

<strong>[icu] Hinweis:</strong> Dies dient nur der Abwärtskompatibilität mit Java APIs.

(Geerbt von Collator)
Identical
Veraltet.

Kleinster Festigkeitswert der Sortierer.

(Geerbt von Collator)
NoDecomposition
Veraltet.

Wert für den Analysemodus.

(Geerbt von Collator)
Primary
Veraltet.

Stärkster Sortierstärkewert.

(Geerbt von Collator)
Quaternary
Veraltet.

<strong>[icu]</strong> Fourth level collator strength value.

(Geerbt von Collator)
Secondary
Veraltet.

Festigkeitswert der zweiten Ebene.

(Geerbt von Collator)
Tertiary
Veraltet.

Festigkeitswert der dritten Ebene.

(Geerbt von Collator)

Eigenschaften

Name Beschreibung
AlternateHandlingShifted

Überprüft, ob das alternative Behandlungsverhalten die UCA-Definition SHIFTED oder NON_IGNORABLE ist. -oder- Legt die alternative Behandlung für QUATERNARY-Stärke fest, die entweder verschoben oder nicht ignorierbar sein soll.

CaseLevel

Überprüft, ob die Fallebene auf "true" festgelegt ist. -oder- Wenn die Groß-/Kleinschreibung auf "true" festgelegt ist, wird eine zusätzliche Gewichtung zwischen der Gewichtung SEKUNDÄR und TERTIÄR gebildet, die als Fallebene bezeichnet wird.

Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Decomposition

Gibt den Analysemodus dieses Collator zurück. -or- Legt den Analysemodus dieses Collator fest.

(Geerbt von Collator)
FrenchCollation

Überprüft, ob die französische Sortierung auf "true" festgelegt ist. -or- Legt den Modus für die Richtung der SEKUNDÄRen Gewichtungen fest, die in der französischen Sortierung verwendet werden sollen.

Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
IsFrozen

Bestimmt, ob das Objekt fixiert wurde oder nicht.

(Geerbt von Collator)
JniIdentityHashCode

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
JniPeerMembers

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

LowerCaseFirst

Gibt "true" zurück, wenn vor dem entsprechenden Großbuchstaben ein Kleinbuchstaben sortiert ist. -or- Legt die Reihenfolge von Kleinbuchstaben fest, die vor Großbuchstaben sortiert werden sollen, in stärke TERTI.

MaxVariable

<strong>[icu]</strong> Gibt die maximale Neuanordnungsgruppe zurück, deren Zeichen vom alternativen Behandlungsverhalten betroffen sind.

(Geerbt von Collator)
NumericCollation

Methode zum Abrufen des numerischen Sortierungswerts. -or- <strong>[icu]</strong> When numeric collation is aktiviert, this Collator makes substrings of digits sort to their numeric values.

PeerReference

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
Rules

Ruft die Sortierungsmaßgeschneiderte Regeln für diese RuleBasedCollator ab.

Strength

Gibt das Stärkeattribut dieses Collator zurück. -or- Legt das Stärkeattribut dieses Collator fest.

(Geerbt von Collator)
TailoredSet

<strong>[icu]</strong> Gibt ein UnicodeSet zurück, das alle Zeichen und Sequenzen enthält, die in diesem Sortator zugeschnitten sind.

(Geerbt von Collator)
ThresholdClass

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Collator)
ThresholdType

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Collator)
UCAVersion

Rufen Sie die UCA-Version dieses Collator-Objekts ab.

UpperCaseFirst

Gibt "true" zurück, wenn vor dem entsprechenden Kleinbuchstaben ein Großbuchstaben sortiert ist. -oder- Legt fest, ob Großbuchstaben vor Kleinbuchstaben sortiert werden oder umgekehrt, in Stärke TERTIÄR.

VariableTop

<strong>[icu]</strong> Ruft den Variablenoberwert eines Collator ab.

Version

Rufen Sie die Version dieses Collatorobjekts ab.

Methoden

Name Beschreibung
Clone()

Klont den Sortierer.

(Geerbt von Collator)
CloneAsThawed()

Stellt den Klonvorgang bereit.

(Geerbt von Collator)
Compare(Object, Object)

Vergleicht das Quellobjekt mit dem Zielobjekt.

(Geerbt von Collator)
Compare(String, String)

Vergleicht die Quelltextzeichenfolge mit der Zieltextzeichenfolge gemäß den Sortierregeln, der Stärke und dem Analysemodus für diese RuleBasedCollator.

Dispose()

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
Dispose(Boolean)

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
Equals(String, String)

Vergleicht die Gleichheit von zwei Textzeichenfolgen mit den Regeln, Stärke und Analysemodus dieses Collator.

(Geerbt von Collator)
Freeze()

Fixiert den Sortierer.

(Geerbt von Collator)
GetCollationElementIterator(ICharacterIterator)

Gibt einen CollationElementIterator für den angegebenen CharacterIterator zurück.

GetCollationElementIterator(String)

Gibt einen CollationElementIterator für die angegebene Zeichenfolge zurück.

GetCollationElementIterator(UCharacterIterator)

Gibt einen CollationElementIterator für den angegebenen UCharacterIterator zurück.

GetCollationKey(String)

Rufen Sie einen Sortierschlüssel für die Argumentzeichenfolgenquelle aus dieser RuleBasedCollator ab.

GetContractionsAndExpansions(UnicodeSet, UnicodeSet, Boolean)

Ruft Unicode-Sätze ab, die Kontraktionen und/oder Erweiterungen eines Sortators enthalten

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetReorderCodes()

Ruft die Neuanordnungscodes für diese Sortierer ab.

(Geerbt von Collator)
GetRules(Boolean)

Gibt aktuelle Regeln zurück.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
SetAlternateHandlingDefault()

Legt den alternativen Behandlungsmodus beim Erstellen des RuleBasedCollator auf den ursprünglichen Modus fest.

SetCaseFirstDefault()

Legt den ersten Fallmodus auf den anfänglichen Modus fest, der während der Erstellung des RuleBasedCollator festgelegt wurde.

SetCaseLevelDefault()

Legt den Modus auf Fallebene auf den anfänglichen Modus fest, der während der Erstellung des RuleBasedCollator festgelegt wurde.

SetDecompositionDefault()

Legt den Analysemodus auf den anfänglichen Modus fest, der während der Erstellung des RuleBasedCollator festgelegt wurde.

SetFrenchCollationDefault()

Legt den französischen Sortiermodus auf den anfänglichen Modus fest, der während der Erstellung des RuleBasedCollator festgelegt wurde.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetMaxVariable(Int32)

<strong>[icu]</strong> Legt die Variable oben auf den Anfang der angegebenen Neuanordnungsgruppe fest.

(Geerbt von Collator)
SetNumericCollationDefault()

Methode zum Festlegen der numerischen Sortierung auf den Standardwert.

SetReorderCodes(Int32[])

Legt die Neuanordnungscodes für diese Sortierer fest.

(Geerbt von Collator)
SetStrengthDefault()

Legt die Sortierfestigkeit auf den ursprünglichen Modus fest, der während der Konstruktion des RuleBasedCollator festgelegt wurde.

ToArray<T>()

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IComparator.Compare(Object, Object)

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Collator)
IFreezable.CloneAsThawed()

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Collator)
IFreezable.Freeze()

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Collator)
IJavaPeerable.Disposed()

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
IJavaPeerable.Finalized()

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

(Geerbt von Object)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

RuleBasedCollator ist eine konkrete Unterklasse von Collator.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: