RegexTrie

public class RegexTrie
extends Object

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


RegexTrie é uma trie em que cada segmento armazenado da chave é um regex ERROR(/Pattern) Portanto, a chave armazenada completa é um List&lt;Pattern&gt;, do que um List&lt;String&gt;, como em uma trie padrão. Observe que o O método retrieve(String) terá correspondência por ponto em relação aos Patterns, em vez de verificada quanto à igualdade de pontos, como em uma trie padrão. Por isso, pode têm um desempenho ruim em conjuntos de dados grandes.

Também é possível usar uma entrada null na sequência Pattern para servir como caractere curinga. Se um null for encontrado, todas as entradas subsequentes na sequência serão ignoradas. Quando o código de recuperação encontra um null Pattern, ele primeiro espera para ver se uma uma entrada mais específica corresponde à sequência. Se alguém tiver, essa entrada mais específica prosseguirá, mesmo que haja uma falha de correspondência posteriormente.

Se nenhuma entrada mais específica corresponder, a correspondência de caractere curinga vai adicionar todos os Strings restantes. à lista de capturas (se ativadas) e retorna o valor associado ao curinga.

Um breve exemplo da funcionalidade de caractere curinga:

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

Resumo

Construtores públicos

RegexTrie()

Métodos públicos

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

Adicione uma entrada à trie.

V retrieve(String... strings)

Busque um valor na trie, fazendo a correspondência da sequência de Strings fornecida com um sequência de ERROR(/Pattern)s armazenada na trie.

V retrieve( captures, String... strings)

Busque um valor na trie, fazendo a correspondência da sequência de Strings fornecida com um sequência de ERROR(/Pattern)s armazenada na trie.

String toString()

Construtores públicos

RegexTrie

public RegexTrie ()

Métodos públicos

limpar

public void clear ()

put

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

Adicione uma entrada à trie.

Parâmetros
value V: o valor a ser definido

patterns Pattern: a sequência de ERROR(/Pattern)s que precisam ter correspondência sequencial com recuperar o value associado

Retorna
V

recuperar

public V retrieve (String... strings)

Busque um valor na trie, fazendo a correspondência da sequência de Strings fornecida com um sequência de ERROR(/Pattern)s armazenada na trie.

Parâmetros
strings String: uma sequência de Strings para correspondência

Retorna
V O valor associado ou null se nenhum valor for encontrado

recuperar

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

Busque um valor na trie, fazendo a correspondência da sequência de Strings fornecida com um sequência de ERROR(/Pattern)s armazenada na trie. Essa versão do método também retorna uma ERROR(/List) de grupos de captura para cada ERROR(/Pattern) correspondente.

Cada entrada na lista externa corresponde a um nível de Pattern na trie. A lista de grupos de captura será armazenada para cada nível. Se não houver capturas para um determinado nível, uma lista vazia será armazenada.

captures vai receber um ERROR(/List#clear()) antes do início da recuperação. Além disso, se a recuperação falhar após uma sequência parcial de correspondências, captures vai ainda refletem os grupos de captura da correspondência parcial.

Parâmetros
captures : um List<List<String>> em que os grupos de captura serão retornados.

strings String: uma sequência de Strings para correspondência

Retorna
V O valor associado ou null se nenhum valor for encontrado

toString

public String toString ()

Retorna
String