RegexTrie
public
class
RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie est un trie où 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 grands ensembles de données.
Il est également possible d'utiliser une entrée null
dans la séquence Pattern
en tant que caractère générique. Si un null
est rencontré, 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 se poursuit, même si la correspondance échoue par la suite.
Si aucune entrée plus spécifique ne correspond, la correspondance avec 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 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 à partir du trie en faisant correspondre la séquence de |
V
|
retrieve(
Récupère une valeur de la fonction trie en faisant correspondre la séquence de |
String
|
toString()
|
Constructeurs publics
Expression régulière
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érer
public V retrieve (String... strings)
Récupérez une valeur à partir 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 à mettre en correspondance |
Renvoie | |
---|---|
V |
Valeur associée ou null si aucune valeur n'a été trouvée |
récupérer
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.
La liste des groupes de capture est stockée pour chaque niveau. 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 |