RegexTrie

public class RegexTrie
extends Object

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


RegexTrie הוא עץ טריא (Trie) שבו כל מקטע ששמור של המפתח הוא ביטוי רגולרי ERROR(/Pattern). לכן, המפתח המלא ששמור הוא List&lt;Pattern&gt; ולא List&lt;String&gt; כמו ב-trie רגיל. שימו לב ששיטת retrieve(String) תתאים ל-Patterns בנקודה לנקודה, במקום לבדוק אם יש שוויון בנקודה לנקודה כמו ב-trie רגיל. לכן, יכול להיות שהביצועים שלו יהיו נמוכים במערכי נתונים גדולים.

אפשר גם להשתמש ברשומה null ברצף Pattern כדי לשמש כתו כללי לחיפוש. אם נתקל ב-null, המערכת תתעלם מכל הרשומות הבאות ברצף. כשקוד האחזור נתקל ב-null Pattern, הוא ימתין קודם כדי לראות אם יש רשומה ספציפית יותר שתתאים לרצף. אם כן, המערכת תמשיך עם הרשומה הספציפית יותר, גם אם היא לא תתאים בהמשך.

אם לא נמצאת התאמה של רשומה ספציפית יותר, ההתאמה של התו הכללי תוסיף את כל הערכים הנותרים של String לרשימת החילוצים (אם היא מופעלת) ותחזיר את הערך שמשויך לתו הכללי.

דוגמה קצרה לפונקציונליות של תווים כלליים לחיפוש:

 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 [[], []]
 

סיכום

קונסטרוקטורים גלויים לכולם

RegexTrie()

שיטות ציבוריות

void clear()
V put(V value, Pattern... patterns)

הוספת רשומה ל-Trie.

V retrieve(String... strings)

אחזור ערך מה-Trie על ידי התאמה של הרצף של Strings שסופק לרצף של ERROR(/Pattern)s שמאוחסן ב-Trie.

V retrieve( captures, String... strings)

אחזור ערך מה-Trie על ידי התאמה של הרצף של Strings שסופק לרצף של ERROR(/Pattern)s שמאוחסן ב-Trie.

String toString()

קונסטרוקטורים גלויים לכולם

RegexTrie

public RegexTrie ()

שיטות ציבוריות

מחיקה

public void clear ()

שים

public V put (V value, 
                Pattern... patterns)

הוספת רשומה ל-Trie.

פרמטרים
value V: הערך שרוצים להגדיר

patterns Pattern: הרצף של הערכים של ERROR(/Pattern) שצריך להתאים ברצף כדי לאחזר את הערך המשויך של value

החזרות
V

אחזור

public V retrieve (String... strings)

אחזור ערך מה-Trie על ידי התאמה של הרצף של Strings שסופק לרצף של ERROR(/Pattern)s שמאוחסן ב-Trie.

פרמטרים
strings String: רצף של String שצריך להתאים

החזרות
V הערך המשויך, או null אם לא נמצא ערך

אחזור

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

אחזור ערך מה-Trie על ידי התאמה של הרצף של Strings שסופק לרצף של ERROR(/Pattern)s שמאוחסן ב-Trie. הגרסה הזו של השיטה מחזירה גם ERROR(/List) של קבוצות תיעוד לכל ERROR(/Pattern) שתואמת.

כל רשומה ברשימה החיצונית תואמת לרמה אחת של Pattern ב-Trie. רשימת הקבוצות לתיעוד תישמר בכל רמה. אם לא בוצעו צילום של אירועים ברמה מסוימת, תישמר רשימה ריקה.

שימו לב ש-captures ERROR(/List#clear()) לפני תחילת האחזור. כמו כן, אם אחזור הנתונים נכשל אחרי רצף חלקי של התאמות, הערך של captures עדיין ישקף את הקבוצות לחילוץ מההתאמה החלקית.

פרמטרים
captures : List<List<String>> שבו יוחזרו קבוצות האחזור.

strings String: רצף של String שצריך להתאים

החזרות
V הערך המשויך, או null אם לא נמצא ערך

toString

public String toString ()

החזרות
String