RegexTrie

public class RegexTrie
extends Object

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


O RegexTrie é um trie onde cada armazenado segmento da chave é um regex ERROR(/Pattern) . Assim, o pleno armazenado é uma chave List&lt;Pattern&gt; em vez de uma List&lt;String&gt; como em uma tentativa padrão. Observe que o método retrieve(String) será comparado pontualmente com o Pattern s, em vez de verificado quanto à igualdade pontual como em uma trie padrão. Por causa disso, pode ter um desempenho ruim para grandes conjuntos de dados.

Pode-se também usar uma entrada null na sequência Pattern para servir como curinga. Se um null for encontrado, todas as entradas subseqüentes na sequência serão ignoradas. Quando o código de recuperação encontra um Pattern null , ele primeiro espera para ver se uma entrada mais específica corresponde à sequência. Se houver, essa entrada mais específica continuará, mesmo que posteriormente não corresponda.

Se nenhuma entrada mais específica corresponder, a correspondência curinga adicionará todas as String s restantes à lista de capturas (se habilitada) e retornará o valor associado ao curinga.

Uma pequena amostra da funcionalidade 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 ao trie.

V retrieve (String... strings)

Busque um valor do trie, combinando a sequência fornecida de String s com uma sequência de ERROR(/Pattern) s armazenada no trie.

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

Busque um valor do trie, combinando a sequência fornecida de String s com uma sequência de ERROR(/Pattern) s armazenada no trie.

String toString ()

Construtores públicos

RegexTrie

public RegexTrie ()

Métodos públicos

claro

public void clear ()

colocar

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

Adicione uma entrada ao trie.

Parâmetros
value V : O valor a definir

patterns Pattern : a sequência de ERROR(/Pattern) s que deve ser correspondida sequencialmente para recuperar o value associado

devoluções
V

recuperar

public V retrieve (String... strings)

Busque um valor do trie, combinando a sequência fornecida de String s com uma sequência de ERROR(/Pattern) s armazenada no trie.

Parâmetros
strings String : Uma sequência de String s para corresponder

devoluções
V O valor associado ou null se nenhum valor foi encontrado

recuperar

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

Busque um valor do trie, combinando a sequência fornecida de String s com uma sequência de ERROR(/Pattern) s armazenada no trie. Esta versão do método também retorna um ERROR(/List) de grupos de captura para cada ERROR(/Pattern) que foi correspondido.

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

Observe que captures serão ERROR(/List#clear()) ed 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 ainda refletirão os grupos de captura da correspondência parcial.

Parâmetros
captures : Uma List<List<String>> por meio da qual os grupos de captura serão retornados.

strings String : Uma sequência de String s para corresponder

devoluções
V O valor associado ou null se nenhum valor foi encontrado

para sequenciar

public String toString ()

devoluções
String