RegexTrie

public class RegexTrie
extends Object

Obiekt Java.lang.Object
com.android.tradefed.util.RegexTrie<V>


RegexTrie to próba, w której każdy przechowywane segment klucza to wyrażenie regularne ERROR(/Pattern) . Zatem pełnia przechowywane klucz jest List&lt;Pattern&gt; zamiast List&lt;String&gt; jak w standardowej próbie. Należy zauważyć, że metoda retrieve(String) zostanie punktowo dopasowana do Pattern s, a nie sprawdzana pod kątem równości punktowej, jak w przypadku standardowej próby. Z tego powodu może działać słabo w przypadku dużych zbiorów danych.

Można także użyć wpisu null w sekwencji Pattern , który będzie służył jako symbol wieloznaczny. Jeśli napotkana zostanie wartość null , wszystkie kolejne wpisy w sekwencji zostaną zignorowane. Gdy kod pobierania napotka null Pattern , najpierw zaczeka, aby sprawdzić, czy bardziej szczegółowy wpis pasuje do sekwencji. Jeśli tak się stanie, ten bardziej szczegółowy wpis będzie kontynuowany, nawet jeśli później nie będzie pasujący.

Jeśli nie pasuje żaden bardziej szczegółowy wpis, dopasowanie z symbolem wieloznacznym doda wszystkie pozostałe String do listy przechwyceń (jeśli jest włączone) i zwróci wartość powiązaną z symbolem wieloznacznym.

Krótka próbka funkcjonalności symboli wieloznacznych:

 List<List<String>> captures = new LinkedList<List<String>>();
 RegexTrie<Integer> trie = new RegexTrie<Integer>();
 trie.put(2, "a", null);
 trie.put(4, "a", "b");
 trie.retrieve(captures, "a", "c", "e");
 // returns 2.  captures is now [[], ["c"], ["e"]]
 trie.retrieve(captures, "a", "b");
 // returns 4.  captures is now [[], []]
 trie.retrieve(captures, "a", "b", "c");
 // returns null.  captures is now [[], []]
 

Streszczenie

Konstruktorzy publiczni

RegexTrie ()

Metody publiczne

void clear ()
V put (V value, Pattern... patterns)

Dodaj wpis do tria.

V retrieve (String... strings)

Pobierz wartość z trie, dopasowując podaną sekwencję String do sekwencji ERROR(/Pattern) zapisanej w trie.

V retrieve ( captures, String... strings) retrieve ( captures, String... strings)

Pobierz wartość z trie, dopasowując podaną sekwencję String do sekwencji ERROR(/Pattern) zapisanej w trie.

String toString ()

Konstruktorzy publiczni

RegexTrie

public RegexTrie ()

Metody publiczne

jasne

public void clear ()

umieścić

public V put (V value, 
                Pattern... patterns)

Dodaj wpis do tria.

Parametry
value V : Wartość do ustawienia

patterns Pattern : Sekwencja ERROR(/Pattern) , które muszą zostać dopasowane sekwencyjnie, aby pobrać powiązaną value

Zwroty
V

odzyskać

public V retrieve (String... strings)

Pobierz wartość z trie, dopasowując podaną sekwencję String do sekwencji ERROR(/Pattern) zapisanej w trie.

Parametry
strings String : Sekwencja String do dopasowania

Zwroty
V Powiązana wartość lub null , jeśli nie znaleziono żadnej wartości

odzyskać

public V retrieve ( captures, 
                String... strings)

Pobierz wartość z trie, dopasowując podaną sekwencję String do sekwencji ERROR(/Pattern) zapisanej w trie. Ta wersja metody zwraca również ERROR(/List) grup przechwytywania dla każdego dopasowanego ERROR(/Pattern) .

Każdy wpis na zewnętrznej liście odpowiada jednemu poziomowi Pattern w próbie. Dla każdego poziomu przechowywana będzie lista grup przechwytywania. Jeżeli na danym poziomie nie było żadnych zapisów, zostanie zapisana pusta lista.

Należy pamiętać, że przed rozpoczęciem pobierania captures zostaną oznaczone jako ERROR(/List#clear()) . Ponadto, jeśli pobieranie nie powiedzie się po częściowej sekwencji dopasowań, captures nadal będą odzwierciedlać grupy przechwytywania z częściowego dopasowania.

Parametry
captures : A List<List<String>> przez który będą zwracane grupy przechwytywania.

strings String : Sekwencja String do dopasowania

Zwroty
V Powiązana wartość lub null , jeśli nie znaleziono żadnej wartości

doString

public String toString ()

Zwroty
String