RegexTrie
public class RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
Der RegexTrie ist ein Versuch, bei dem jederERROR(/Pattern)
. Also das volleList<Pattern>
statt einer List<String>
wie bei einem Standardversuch. Beachten Sie, dass die Methode retrieve(String)
punktweise mit den Pattern
s abgeglichen wird und nicht wie bei einem Standardversuch auf punktweise Gleichheit überprüft wird. Aus diesem Grund kann es bei großen Datensätzen zu einer schlechten Leistung kommen.
null
in der Pattern
als Platzhalter verwenden. Wenn eine null
auftritt, werden alle nachfolgenden Einträge in der Sequenz ignoriert. Wenn der Abrufcode auf ein null
Pattern
trifft, wartet er zunächst, ob ein spezifischerer Eintrag mit der Sequenz übereinstimmt. Wenn dies der Fall ist, wird dieser spezifischere Eintrag fortgesetzt, auch wenn er später nicht mehr übereinstimmt. Wenn kein spezifischerer Eintrag übereinstimmt, fügt der Wildcard-Abgleich alle verbleibenden String
s zur Liste der Captures hinzu (falls aktiviert) und gibt den mit dem Wildcard verknüpften Wert zurück. Ein kurzes Beispiel der Wildcard-Funktionalität: 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 [[], []]
Zusammenfassung
Öffentliche Bauträger | |
---|---|
RegexTrie () |
Öffentliche Methoden | |
---|---|
void | clear () |
V | put (V value, Pattern... patterns) Fügen Sie dem Versuch einen Eintrag hinzu. |
V | retrieve (String... strings) Rufen Sie einen Wert aus dem Trie ab, indem Sie die bereitgestellte Folge von |
V | retrieve ( captures, String... strings) retrieve ( captures, String... strings) Rufen Sie einen Wert aus dem Trie ab, indem Sie die bereitgestellte Folge von |
String | toString () |
Öffentliche Bauträger
RegexTrie
public RegexTrie ()
Öffentliche Methoden
klar
public void clear ()
setzen
public V put (V value, Pattern... patterns)
Fügen Sie dem Versuch einen Eintrag hinzu.
Parameter | |
---|---|
value | V : Der einzustellende Wert |
patterns | Pattern : Die Folge von ERROR(/Pattern) s, die nacheinander abgeglichen werden müssen, um den zugehörigen value abzurufen |
Kehrt zurück | |
---|---|
V |
abrufen
public V retrieve (String... strings)
Rufen Sie einen Wert aus dem Trie ab, indem Sie die bereitgestellte Folge von String
s mit einer im Trie gespeicherten Folge von ERROR(/Pattern)
s abgleichen.
Parameter | |
---|---|
strings | String : Eine Folge von String s, die übereinstimmen sollen |
Kehrt zurück | |
---|---|
V | Der zugehörige Wert oder null , wenn kein Wert gefunden wurde |
abrufen
public V retrieve (captures, String... strings)
Rufen Sie einen Wert aus dem Trie ab, indem Sie die bereitgestellte Folge von String
s mit einer im Trie gespeicherten Folge von ERROR(/Pattern)
s abgleichen. Diese Version der Methode gibt außerdem einen ERROR(/List)
von Erfassungsgruppen für jeden übereinstimmenden ERROR(/Pattern)
zurück.
Pattern
im Versuch. Für jede Ebene wird die Liste der Erfassungsgruppen gespeichert. Wenn für ein bestimmtes Level keine Aufnahmen gemacht wurden, wird eine leere Liste gespeichert. Beachten Sie, dass captures
ERROR(/List#clear())
werden, bevor der Abruf beginnt. Auch wenn der Abruf nach einer Teilsequenz von Übereinstimmungen fehlschlägt, spiegeln captures
weiterhin die Erfassungsgruppen aus der Teilübereinstimmung wider.Parameter | |
---|---|
captures | List<List<String>> über die Erfassungsgruppen zurückgegeben werden. |
strings | String : Eine Folge von String s, die übereinstimmen sollen |
Kehrt zurück | |
---|---|
V | Der zugehörige Wert oder null , wenn kein Wert gefunden wurde |
toString
public String toString ()
Kehrt zurück | |
---|---|
String |