RegexTrie

public class RegexTrie
extends Object

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


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

אפשר גם להשתמש ברשומת 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)

אפשר להוסיף פריט לאירוע.

V retrieve(String... strings)

מאחזרים ערך מהמשולש על ידי התאמה של הרצף שצוין של String אל רצף של ERROR(/Pattern)s מאוחסנים בשלישי.

V retrieve( captures, String... strings)

מאחזרים ערך מהמשולש על ידי התאמה של הרצף שצוין של String אל רצף של ERROR(/Pattern)s מאוחסנים בשלישי.

String toString()

בנאים ציבוריים

RegexTrie

public RegexTrie ()

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

מחיקה

public void clear ()

שים

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

אפשר להוסיף פריט לאירוע.

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

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

החזרות
V

אחזר

public V retrieve (String... strings)

מאחזרים ערך מהמשולש על ידי התאמה של הרצף שצוין של String אל רצף של ERROR(/Pattern)s מאוחסנים בשלישי.

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

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

אחזר

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

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

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

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

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

strings String: רצף של String שניות להתאמה

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

toString (מחרוזת)

public String toString ()

החזרות
String