RegexTrie
public class RegexTrie
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.RegexTrie<V> |
ה-RegexTrie הוא ניסיון שבו כל אחדERROR(/Pattern)
. לפיכך, המלאList<Pattern>
במקום List<String>
כמו בניסיון רגיל. שים לב ששיטת 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) אחזר ערך מהניסיון, על ידי התאמת הרצף שסופק של |
V | retrieve ( captures, String... strings) retrieve ( captures, String... strings) אחזר ערך מהניסיון, על ידי התאמת הרצף שסופק של |
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)
אחזר ערך מהניסיון, על ידי התאמת הרצף שסופק של ERROR(/String)
s לרצף של ERROR(/Pattern)
s המאוחסנים בניסיון.
פרמטרים | |
---|---|
strings | String : רצף של ERROR(/String) s להתאמה |
החזרות | |
---|---|
V | הערך המשויך, או null אם לא נמצא ערך |
להחזיר
public V retrieve (captures, String... strings)
אחזר ערך מהניסיון, על ידי התאמת הרצף שסופק של ERROR(/String)
s לרצף של ERROR(/Pattern)
s המאוחסנים בניסיון. גרסה זו של השיטה מחזירה גם ERROR(/List)
של קבוצות לכידה עבור כל ERROR(/Pattern)
שהותאם.
כל ערך ברשימה החיצונית תואם לרמה אחת של Pattern
בניסיון. עבור כל רמה, תישמר רשימת קבוצות הלכידה. אם לא היו לכידות עבור רמה מסוימת, רשימה ריקה תישמר.
שים לב captures
יעברו ERROR(/List#clear())
לפני תחילת האחזור. כמו כן, אם השליפה נכשלת לאחר רצף חלקי של התאמות, captures
עדיין ישקפו את קבוצות הלכידה מההתאמה החלקית.
פרמטרים | |
---|---|
captures | List<List<String>> שדרכה יוחזרו קבוצות לכידה. |
strings | String : רצף של ERROR(/String) s להתאמה |
החזרות | |
---|---|
V | הערך המשויך, או null אם לא נמצא ערך |
toString
public String toString ()
החזרות | |
---|---|
String |