RegexTrie
public
class
RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie est un trie dans lequel chaque segment ERROR(/Pattern)
. Par conséquent, la clé List<Pattern>
plutôt qu'un List<String>
, comme dans un trie standard. Notez que la méthode retrieve(String)
sera mise en correspondance point par point avec les Pattern
, plutôt que de vérifier l'égalité point par point comme dans un trie standard. Par conséquent, ses performances peuvent être médiocres pour les ensembles de données volumineux.
Vous pouvez également utiliser une entrée null
dans la séquence Pattern
pour servir de caractère générique. Si un null
est détecté, toutes les entrées suivantes de la séquence sont ignorées.
Lorsque le code de récupération rencontre un Pattern
null
, il attend d'abord de voir si une entrée plus spécifique correspond à la séquence. Si c'est le cas, cette entrée plus spécifique sera traitée, même si elle ne correspond pas par la suite.
Si aucune entrée plus spécifique ne correspond, la correspondance de caractère générique ajoute tous les String
restants à la liste des captures (si elle est activée) et renvoie la valeur associée au caractère générique.
Voici un bref exemple de la fonctionnalité de caractères génériques:
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 [[], []]
Résumé
Constructeurs publics | |
---|---|
RegexTrie()
|
Méthodes publiques | |
---|---|
void
|
clear()
|
V
|
put(V value, Pattern... patterns)
Ajoutez une entrée au trie. |
V
|
retrieve(String... strings)
Récupérez une valeur du trie en faisant correspondre la séquence de |
V
|
retrieve(
Récupérez une valeur du trie en faisant correspondre la séquence de |
String
|
toString()
|
Constructeurs publics
RegexTrie
public RegexTrie ()
Méthodes publiques
effacer
public void clear ()
CANNOT TRANSLATE
public V put (V value, Pattern... patterns)
Ajoutez une entrée au trie.
Paramètres | |
---|---|
value |
V : valeur à définir |
patterns |
Pattern : séquence de ERROR(/Pattern) qui doit être mise en correspondance de manière séquentielle pour récupérer le value associé
|
Renvoie | |
---|---|
V |
récupération
public V retrieve (String... strings)
Récupérez une valeur du trie en faisant correspondre la séquence de String
s fournie à une séquence de ERROR(/Pattern)
s stockée dans le trie.
Paramètres | |
---|---|
strings |
String : séquence de String à faire correspondre |
Renvoie | |
---|---|
V |
Valeur associée ou null si aucune valeur n'a été trouvée
|
récupération
public V retrieve (captures, String... strings)
Récupérez une valeur du trie en faisant correspondre la séquence de String
s fournie à une séquence de ERROR(/Pattern)
s stockée dans le trie. Cette version de la méthode renvoie également un ERROR(/List)
de groupes de capture pour chaque ERROR(/Pattern)
mis en correspondance.
Chaque entrée de la liste externe correspond à un niveau de Pattern
dans l'arborescence triée.
Pour chaque niveau, la liste des groupes de capture est stockée. Si aucune capture n'a été effectuée pour un niveau particulier, une liste vide est stockée.
Notez que captures
sera ERROR(/List#clear())
avant le début de la récupération.
De plus, si la récupération échoue après une séquence partielle de correspondances, captures
reflètera toujours les groupes de capture de la correspondance partielle.
Paramètres | |
---|---|
captures |
: List<List<String>> via lequel les groupes de capture seront renvoyés. |
strings |
String : séquence de String à faire correspondre |
Renvoie | |
---|---|
V |
Valeur associée ou null si aucune valeur n'a été trouvée
|
toString
public String toString ()
Renvoie | |
---|---|
String |