RegexTrie

public class RegexTrie
extends Object

java.lang.Object
com.android.tradefed.util.RegexTrie<V>


Der RegexTrie ist ein Versuch, bei dem each gelagert Segment des Schlüssels ist eine Regex ERROR(/Pattern) . Also voll gelagert Schlüssel ist ein List&lt;Pattern&gt; statt einer List&lt;String&gt; wie in einem Standardtrie. Beachten Sie, dass die Methode retrieve(String) punktweise mit den Pattern abgeglichen wird, anstatt wie bei einem Standard-Trie auf punktweise Gleichheit geprüft zu werden. Aus diesem Grund kann es bei großen Datasets eine schlechte Leistung erbringen.

Man kann auch einen null Eintrag in der Pattern Sequenz verwenden, um als Platzhalter zu dienen. Wenn eine null angetroffen wird, werden alle nachfolgenden Einträge in der Sequenz ignoriert. Wenn der Abrufcode auf Pattern null trifft, wartet er zunächst, ob ein spezifischerer Eintrag mit der Sequenz übereinstimmt. Wenn dies der Fall ist, wird dieser spezifischere Eintrag fortgesetzt, selbst wenn er später nicht übereinstimmt.

Wenn kein spezifischerer Eintrag übereinstimmt, fügt die Wildcard-Übereinstimmung alle verbleibenden String zur Liste der Erfassungen 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 Konstrukteure

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 Sequenz von ERROR(/String) s mit einer Sequenz von ERROR(/Pattern) s abgleichen, die im Trie gespeichert sind.

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

Rufen Sie einen Wert aus dem Trie ab, indem Sie die bereitgestellte Sequenz von ERROR(/String) s mit einer Sequenz von ERROR(/Pattern) s abgleichen, die im Trie gespeichert sind.

String toString ()

Öffentliche Konstrukteure

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 zugeordneten value abzurufen

Kehrt zurück
V

abrufen

public V retrieve (String... strings)

Rufen Sie einen Wert aus dem Trie ab, indem Sie die bereitgestellte Sequenz von ERROR(/String) s mit einer Sequenz von ERROR(/Pattern) s abgleichen, die im Trie gespeichert sind.

Parameter
strings String : Eine Folge von ERROR(/String) s zum Abgleichen

Kehrt zurück
V Der zugeordnete 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 Sequenz von ERROR(/String) s mit einer Sequenz von ERROR(/Pattern) s abgleichen, die im Trie gespeichert sind. Diese Version der Methode gibt auch eine ERROR(/List) von Erfassungsgruppen für jeden gefundenen ERROR(/Pattern) zurück.

Jeder Eintrag in der äußeren Liste entspricht einer Pattern im Trie. Für jede Ebene wird die Liste der Erfassungsgruppen gespeichert. Wenn es für eine bestimmte Ebene keine Aufnahmen gab, 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 : Eine List<List<String>> über die Erfassungsgruppen zurückgegeben werden.

strings String : Eine Folge von ERROR(/String) s zum Abgleichen

Kehrt zurück
V Der zugeordnete Wert oder null , wenn kein Wert gefunden wurde

toString

public String toString ()

Kehrt zurück
String