RegexTrie

public class RegexTrie
extends Object

java.lang.Object
com.android.tradefed.util.RegexTrie<V>


Il RegexTrie è un trie in cui ciascuno immagazzinato il segmento della chiave è una regex ERROR(/Pattern) . Quindi, il pieno immagazzinato è una chiave List&lt;Pattern&gt; anziché un List&lt;String&gt; come in un trie standard. Si noti che il metodo retrieve(String) verrà confrontato puntualmente con i Pattern , anziché verificare l'uguaglianza puntuale come in un trie standard. Per questo motivo, potrebbe funzionare in modo scarso per set di dati di grandi dimensioni.

È anche possibile utilizzare una voce null nella sequenza Pattern come carattere jolly. Se viene riscontrato un null , tutte le voci successive nella sequenza verranno ignorate. Quando il codice di recupero incontra un Pattern null , attenderà prima di vedere se una voce più specifica corrisponde alla sequenza. In tal caso, la voce più specifica proseguirà, anche se successivamente non riuscirà a trovare una corrispondenza.

Se nessuna voce più specifica corrisponde, la corrispondenza con carattere jolly aggiungerà tutte String rimanenti all'elenco delle acquisizioni (se abilitate) e restituirà il valore associato al carattere jolly.

Un breve esempio della funzionalità dei caratteri jolly:

 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 [[], []]
 

Riepilogo

Costruttori pubblici

RegexTrie ()

Metodi pubblici

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

Aggiungi una voce al trie.

V retrieve (String... strings)

Recupera un valore dal trie, abbinando la sequenza fornita di String a una sequenza di ERROR(/Pattern) memorizzata nel trie.

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

Recupera un valore dal trie, abbinando la sequenza fornita di String a una sequenza di ERROR(/Pattern) memorizzata nel trie.

String toString ()

Costruttori pubblici

RegexTrie

public RegexTrie ()

Metodi pubblici

chiaro

public void clear ()

Mettere

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

Aggiungi una voce al trie.

Parametri
value V : il valore da impostare

patterns Pattern : la sequenza di ERROR(/Pattern) che devono essere abbinati in sequenza per recuperare il value associato

ritorna
V

recuperare

public V retrieve (String... strings)

Recupera un valore dal trie, abbinando la sequenza fornita di String a una sequenza di ERROR(/Pattern) memorizzata nel trie.

Parametri
strings String : una sequenza di String da abbinare

ritorna
V Il valore associato oppure null se non è stato trovato alcun valore

recuperare

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

Recupera un valore dal trie, abbinando la sequenza fornita di String a una sequenza di ERROR(/Pattern) memorizzata nel trie. Questa versione del metodo restituisce inoltre un ERROR(/List) di gruppi di acquisizione per ciascun ERROR(/Pattern) corrispondente.

Ciascuna voce nell'Elenco esterno corrisponde a un livello di Pattern nel trie. Per ogni livello verrà memorizzato l'elenco dei gruppi di acquisizione. Se non sono state effettuate acquisizioni per un livello particolare, verrà memorizzato un elenco vuoto.

Tieni presente che captures verranno modificate con ERROR(/List#clear()) prima dell'inizio del recupero. Inoltre, se il recupero non riesce dopo una sequenza parziale di corrispondenze, captures rifletteranno comunque i gruppi di acquisizione della corrispondenza parziale.

Parametri
captures : Oggetto List<List<String>> attraverso il quale verranno restituiti i gruppi di acquisizione.

strings String : una sequenza di String da abbinare

ritorna
V Il valore associato oppure null se non è stato trovato alcun valore

accordare

public String toString ()

ritorna
String