RegexTrie

public class RegexTrie
extends Object

Objeto java.lang.
   ↳ com.android.tradefed.util.RegexTrie<V>


RegexTrie es un trie en el que cada segmento almacenado de la clave es una regex ERROR(/Pattern). Por lo tanto, la clave almacenada completa es una List&lt;Pattern&gt; en lugar de una List&lt;String&gt;, como en un trie estándar. Ten en cuenta que el método retrieve(String) se comparará punto por punto con los Pattern, en lugar de verificar la igualdad punto por punto como en un trie estándar. Debido a esto, es posible que tenga un bajo rendimiento en 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 Pattern null, primero esperará a ver si una entrada más específica coincide con la secuencia. Si lo hace, esa entrada más específica continuará, incluso si luego no coincide.

Si no hay ninguna coincidencia de entrada más específica, la coincidencia de comodines agregará todos los String restantes a la lista de capturas (si está habilitada) y mostrará el valor asociado con el comodín.

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, Pattern... patterns)

Agrega una entrada al trie.

V retrieve(String... strings)

Para recuperar un valor del trie, haz coincidir la secuencia proporcionada de String con una secuencia de ERROR(/Pattern) almacenada en el trie.

V retrieve( captures, String... strings)

Para recuperar un valor del trie, haz coincidir la secuencia proporcionada de String con una secuencia de ERROR(/Pattern) almacenada en el trie.

String toString()

Constructores públicos

RegexTrie

public RegexTrie ()

Métodos públicos

borrar

public void clear ()

Pon

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 ERROR(/Pattern) que se debe hacer coincidir de forma secuencial para recuperar el value asociado.

Muestra
V

recuperar

public V retrieve (String... strings)

Para recuperar un valor del trie, haz coincidir la secuencia proporcionada de String con una secuencia de ERROR(/Pattern) almacenada en el trie.

Parámetros
strings String: Es una secuencia de String que deben coincidir.

Muestra
V El valor asociado o null si no se encontró ningún valor

recuperar

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

Para recuperar un valor del trie, haz coincidir la secuencia proporcionada de String con una secuencia de ERROR(/Pattern) almacenada en el trie. Esta versión del método también muestra un ERROR(/List) de grupos de captura para cada ERROR(/Pattern) que coincida.

Cada entrada en 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 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á reflejando los grupos de captura de la coincidencia parcial.

Parámetros
captures : Es un List<List<String>> a través del cual se mostrarán los grupos de captura.

strings String: Es una secuencia de String que debe coincidir.

Muestra
V El valor asociado, o null si no se encontró ningún valor

toString

public String toString ()

Muestra
String