RegexTrie

public class RegexTrie
extends Object

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


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

אפשר גם להשתמש בערך 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) 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) s שיש להתאים ברצף כדי לאחזר את 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 המאוחסנים בניסיון. גרסה זו של השיטה מחזירה גם ERROR(/List) של קבוצות לכידה עבור כל ERROR(/Pattern) שהותאם.

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

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

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

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

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

toString

public String toString ()

החזרות
String