RegexTrie
public
class
RegexTrie
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.util.RegexTrie<V> |
RegexTrie est un trie dans lequel chaque segment Pattern. Ainsi, la clé List<Pattern> plutôt
qu'une List<String> comme dans un trie standard. Notez que la
retrieve(String...) méthode sera mise en correspondance point par point avec les Patterns,
plutôt que vérifiée pour l'égalité point par point comme dans un trie standard. Pour cette raison, elle peut
être peu performante 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 rencontré, toutes les entrées suivantes de la séquence seront ignorées.
Lorsque le code de récupération rencontre un null Pattern, 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 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 toutes les Strings
restantes à 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ère générique :
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, String... regexen)
Cette méthode d'assistance prend une liste d'expressions régulières sous forme de |
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(List<List<String>> captures, String... strings)
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 ()
put
public V put (V value,
String... regexen)Cette méthode d'assistance prend une liste d'expressions régulières sous forme de Strings et les compile
à la volée avant d'ajouter les Patterns suivants au trie.
| Paramètres | |
|---|---|
value |
V : valeur à définir |
regexen |
String : séquence d'expressions régulières (sous forme de Strings) qui doivent correspondre séquentiellement pour récupérer la value associée. Chaque chaîne sera
compilée en tant que Pattern avant d'appeler put(Object,Pattern...). |
| Renvoie | |
|---|---|
V |
|
put
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 Patterns qui doivent correspondre séquentiellement pour récupérer la value associée |
| Renvoie | |
|---|---|
V |
|
récupération
public V retrieve (String... strings)
Récupérez une valeur du trie en faisant correspondre la séquence de Strings fournie à une
séquence de Patterns stockée dans le trie.
| Paramètres | |
|---|---|
strings |
String: séquence de Strings à faire correspondre |
| Renvoie | |
|---|---|
V |
La valeur associée, ou null si aucune valeur n'a été trouvée |
récupération
public V retrieve (List<List<String>> captures,
String... strings)Récupérez une valeur du trie en faisant correspondre la séquence de Strings fournie à une
séquence de Patterns stockée dans le trie. Cette version de la méthode renvoie également
un List de groupes de capture pour chaque Pattern qui a été mis en correspondance.
Chaque entrée de la liste externe correspond à un niveau de Pattern dans le trie.
Pour chaque niveau, la liste des groupes de capture est stockée. S'il n'y a pas de captures
pour un niveau particulier, une liste vide est stockée.
Notez que captures sera List.clear()ed 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<List<String>> via laquelle les groupes de capture seront renvoyés. |
strings |
String: séquence de Strings à faire correspondre |
| Renvoie | |
|---|---|
V |
La valeur associée, ou null si aucune valeur n'a été trouvée |
toString
public String toString ()
| Renvoie | |
|---|---|
String |
|