RegexTrie
public
class
RegexTrie
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.util.RegexTrie<V> |
El RegexTrie es un trie en el que cada segmento Pattern. Por lo tanto, la clave List<Pattern> en lugar de un List<String>, como en un trie estándar. Ten en cuenta que el método retrieve(String...) se correlacionará punto a punto con los Pattern, en lugar de verificarse la igualdad punto a punto como en un trie estándar. Por este motivo, es posible que su rendimiento sea bajo para conjuntos de datos grandes.
También se puede usar una entrada null en la secuencia Pattern para que funcione 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 null Pattern, primero espera para ver si una entrada más específica coincide con la secuencia. Si se encuentra una, se usará esa entrada más específica, incluso si luego no coincide.
Si no coincide ninguna entrada más específica, la coincidencia de comodines agregará todos los String restantes a la lista de capturas (si está habilitada) y devolverá el valor asociado con el comodín.
A continuación, se muestra un breve ejemplo de la funcionalidad de comodín:
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
Constructores públicos | |
|---|---|
RegexTrie()
|
|
Métodos públicos | |
|---|---|
void
|
clear()
|
V
|
put(V value, String... regexen)
Este método auxiliar toma una lista de expresiones regulares como |
V
|
put(V value, Pattern... patterns)
Agrega una entrada al trie. |
V
|
retrieve(String... strings)
Recupera un valor del trie haciendo coincidir la secuencia proporcionada de |
V
|
retrieve(List<List<String>> captures, String... strings)
Recupera un valor del trie haciendo coincidir la secuencia proporcionada de |
String
|
toString()
|
Constructores públicos
RegexTrie
public RegexTrie ()
Métodos públicos
borrar
public void clear ()
put
public V put (V value,
String... regexen)Este método auxiliar toma una lista de expresiones regulares como Strings y las compila sobre la marcha antes de agregar los Patterns posteriores al trie.
| Parámetros | |
|---|---|
value |
V: Es el valor que se establecerá. |
regexen |
String: Es la secuencia de expresiones regulares (como String) que deben coincidir de forma secuencial para recuperar el value asociado. Cada String se compilará como un Pattern antes de invocar put(Object,Pattern...). |
| Muestra | |
|---|---|
V |
|
put
public V put (V value,
Pattern... patterns)Agrega una entrada al trie.
| Parámetros | |
|---|---|
value |
V: Es el valor que se establecerá. |
patterns |
Pattern: Es la secuencia de Pattern que se debe hacer coincidir de forma secuencial para recuperar el value asociado. |
| Muestra | |
|---|---|
V |
|
recuperar
public V retrieve (String... strings)
Recupera un valor del trie haciendo coincidir la secuencia proporcionada de Strings con una secuencia de Patterns almacenada en el trie.
| Parámetros | |
|---|---|
strings |
String: Una secuencia de String para hacer coincidir |
| Muestra | |
|---|---|
V |
El valor asociado o null si no se encontró ningún valor |
recuperar
public V retrieve (List<List<String>> captures,
String... strings)Recupera un valor del trie haciendo coincidir la secuencia proporcionada de Strings con una secuencia de Patterns almacenada en el trie. Esta versión del método también devuelve un List de grupos de captura para cada Pattern que coincidió.
Cada entrada de la lista externa 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.
Ten en cuenta que captures se 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á reflejando los grupos de captura de la coincidencia parcial.
| Parámetros | |
|---|---|
captures |
List: Es un List<List<String>> a través del cual se devolverán los grupos de captura. |
strings |
String: Una secuencia de String para hacer coincidir |
| Muestra | |
|---|---|
V |
El valor asociado o null si no se encontró ningún valor |
toString
public String toString ()
| Muestra | |
|---|---|
String |
|