RegexTrie
public
class
RegexTrie
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.util.RegexTrie<V> |
O RegexTrie é um trie em que cada segmento ERROR(/Pattern). Assim, a chave List<Pattern>, e não um List<String>, como em um trie padrão. O método
retrieve(String) será comparado ponto a ponto com os Patterns,
em vez de ser verificado para igualdade ponto a ponto, como em um trie padrão. Por isso, ela pode
ter um desempenho ruim em grandes conjuntos de dados.
Também é possível usar uma entrada null na sequência Pattern para servir como um 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 Pattern null, ele primeiro espera para saber se uma
entrada mais específica corresponde à sequência. Se houver, essa entrada mais específica vai ser processada,
mesmo que não corresponda à correspondência.
Se nenhuma entrada mais específica corresponder, a correspondência de caractere curinga vai adicionar todos os Strings restantes
à lista de capturas (se ativada) e retornar o valor associado ao caractere curinga.
Um exemplo curto 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)
Extrair um valor do trie, correspondendo a sequência fornecida de |
V
|
retrieve(
Extrair um valor do trie, correspondendo a sequência fornecida de |
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 ser correspondidas sequencialmente para
recuperar o value associado |
| Retorna | |
|---|---|
V |
|
recuperar
public V retrieve (String... strings)
Extrair um valor do trie, correspondendo a sequência fornecida de Strings a uma
sequência de ERROR(/Pattern)s armazenada no trie.
| Parâmetros | |
|---|---|
strings |
String: uma sequência de Strings a serem correspondidos |
| Retorna | |
|---|---|
V |
O valor associado ou null se nenhum valor for encontrado |
recuperar
public V retrieve (captures, String... strings)
Extrair um valor do trie, correspondendo a sequência fornecida de Strings a uma
sequência de ERROR(/Pattern)s armazenada no trie. Essa versão do método também retorna
uma ERROR(/List) de grupos de captura para cada ERROR(/Pattern) que foi encontrado.
Cada entrada na lista externa corresponde a um nível de Pattern no trie.
Para cada nível, a lista de grupos de captura será armazenada. Se não houver capturas
para um nível específico, uma lista vazia será armazenada.
O captures será 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
ainda vai refletir os grupos de captura da correspondência parcial.
| Parâmetros | |
|---|---|
captures |
: uma List<List<String>> pela qual os grupos de captura serão retornados. |
strings |
String: uma sequência de Strings a serem correspondidos |
| Retorna | |
|---|---|
V |
O valor associado ou null se nenhum valor for encontrado |
toString
public String toString ()
| Retorna | |
|---|---|
String |
|