RegexTrie
public class RegexTrie
extends Object
java.lang.Objeto |
↳ | com.android.tradefed.util.RegexTrie<V> |
El RegexTrie es un trie donde cada almacenado segmento de la clave es una expresión regular ERROR(/Pattern)
. Así, el pleno almacenado la clave es una List<Pattern>
en lugar de una List<String>
como en un intento estándar. Tenga en cuenta que el método retrieve(String)
se comparará puntualmente con Pattern
s, en lugar de verificar la igualdad puntual como en un trie estándar. Debido a esto, puede funcionar mal para grandes conjuntos de datos.
También se puede usar una entrada
null
en la secuencia
Pattern
para que sirva como comodín. Si se encuentra un
null
, se ignorarán todas las entradas posteriores de la secuencia. Cuando el código de recuperación encuentra un
Pattern
null
, primero esperará para ver si una entrada más específica coincide con la secuencia. Si lo hace, se procederá con esa entrada más específica, incluso si posteriormente no coincide.
Si no hay coincidencias de entradas más específicas, la coincidencia de comodín agregará todas
String
restantes a la lista de capturas (si está habilitada) y devolverá el valor asociado con el comodín.
Una breve muestra de la funcionalidad de comodines:
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 [[], []]
Resumen
Métodos públicos |
---|
void | clear () |
V | put (V value, Pattern... patterns) Agregue una entrada al archivo trie. |
V | retrieve (String... strings) Obtenga un valor del trie, haciendo coincidir la secuencia proporcionada de ERROR(/String) s con una secuencia de ERROR(/Pattern) s almacenada en el trie. |
V | retrieve ( captures, String... strings) retrieve ( captures, String... strings) Obtenga un valor del trie, haciendo coincidir la secuencia proporcionada de ERROR(/String) s con una secuencia de ERROR(/Pattern) s almacenada en el trie. |
String | toString () |
Constructores públicos
RegexTrie
public RegexTrie ()
Métodos públicos
claro
public void clear ()
poner
public V put (V value,
Pattern... patterns)
Agregue una entrada al archivo trie.
Parámetros |
---|
value | V : El valor a establecer |
patterns | Pattern : la secuencia de ERROR(/Pattern) s que debe coincidir secuencialmente para recuperar el value asociado |
recuperar
public V retrieve (String... strings)
Obtenga un valor del trie, haciendo coincidir la secuencia proporcionada de ERROR(/String)
s con una secuencia de ERROR(/Pattern)
s almacenada en el trie.
Parámetros |
---|
strings | String : Una secuencia de ERROR(/String) s para hacer coincidir |
Devoluciones |
---|
V | El valor asociado, o null si no se encontró ningún valor |
recuperar
public V retrieve ( captures,
String... strings)
Obtenga un valor del trie, haciendo coincidir la secuencia proporcionada de ERROR(/String)
s con una secuencia de ERROR(/Pattern)
s almacenada en el trie. Esta versión del método también devuelve un ERROR(/List)
de grupos de captura para cada ERROR(/Pattern)
que coincidió.
Cada entrada en la Lista exterior corresponde a un nivel de
Pattern
en el trie. Para cada nivel, se almacenará la lista de grupos de captura. Si no hubo capturas para un nivel en particular, se almacenará una lista vacía.
Tenga en cuenta que
captures
se mostrarán como
ERROR(/List#clear())
antes de que comience la recuperación. Además, si la recuperación falla después de una secuencia parcial de coincidencias,
captures
seguirán reflejando los grupos de captura de la coincidencia parcial.
Parámetros |
---|
captures | : Una List<List<String>> a través de la cual se devolverán los grupos de captura. |
strings | String : Una secuencia de ERROR(/String) s para hacer coincidir |
Devoluciones |
---|
V | El valor asociado, o null si no se encontró ningún valor |
Encadenar
public String toString ()