RegexTrie
public
class
RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
O RegexTrie é uma 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 Pattern
s,
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 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 String
s restantes
à lista de capturas (se ativada) e retornar o valor associado ao caractere curinga.
Um exemplo curto da funcionalidade de 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 String
s a uma
sequência de ERROR(/Pattern)
s armazenada no trie.
Parâmetros | |
---|---|
strings |
String : uma sequência de String s 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 da trie, combinando a sequência fornecida de String
s com uma
sequência de ERROR(/Pattern)
s armazenada na trie. Essa 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 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 String s a serem correspondidas |
Retorna | |
---|---|
V |
O valor associado ou null se nenhum valor for encontrado |
toString
public String toString ()
Retorna | |
---|---|
String |