RegexTrie

public class RegexTrie
extends Object

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


‫RegexTrie هي شجرة بحث ثلاثية حيث يكون كل جزء مخزَّن من المفتاح عبارة عن تعبير عادي 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, String... regexen)

تأخذ طريقة المساعدة هذه قائمة بالتعبيرات العادية كـ Strings وتجمعها أثناء التنفيذ قبل إضافة Patterns اللاحقة إلى شجرة البحث

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

أضِف إدخالاً إلى شجرة البحث الثلاثية.

V retrieve(String... strings)

استرجاع قيمة من شجرة البحث الثلاثية عن طريق مطابقة تسلسل String المقدَّم مع تسلسل Pattern مخزَّن في شجرة البحث الثلاثية

V retrieve(List<List<String>> captures, String... strings)

استرجاع قيمة من شجرة البحث الثلاثية عن طريق مطابقة تسلسل String المقدَّم مع تسلسل Pattern مخزَّن في شجرة البحث الثلاثية

String toString()

طُرق وضع التصميم العامة

RegexTrie

public RegexTrie ()

الإجراءات العامة

محو

public void clear ()

put

public V put (V value, 
                String... regexen)

تأخذ طريقة المساعدة هذه قائمة بالتعبيرات العادية كـ Strings وتجمعها أثناء التنفيذ قبل إضافة Patterns اللاحقة إلى شجرة البحث

المعلَمات
value V: القيمة المطلوب ضبطها

regexen String: تسلسل التعابير العادية (مثل String) التي يجب أن تتطابق بالتسلسل لاسترداد value المرتبط. سيتم تجميع كل سلسلة على شكل Pattern قبل استدعاء put(Object,Pattern...).

المرتجعات
V

put

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

أضِف إدخالاً إلى شجرة البحث الثلاثية.

المعلَمات
value V: القيمة المطلوب ضبطها

patterns Pattern: تسلسل Pattern يجب أن يتطابق بشكل متسلسل مع استرداد value المرتبط

المرتجعات
V

الاسترداد

public V retrieve (String... strings)

استرجاع قيمة من شجرة البحث الثلاثية عن طريق مطابقة تسلسل String المقدَّم مع تسلسل Pattern مخزَّن في شجرة البحث الثلاثية

المعلَمات
strings String: تسلسل من Strings للمطابقة

المرتجعات
V القيمة المرتبطة أو null إذا لم يتم العثور على أي قيمة

الاسترداد

public V retrieve (List<List<String>> captures, 
                String... strings)

استرجاع قيمة من شجرة البحث الثلاثية عن طريق مطابقة تسلسل String المقدَّم مع تسلسل Pattern مخزَّن في شجرة البحث الثلاثية تعرض هذه النسخة من الطريقة أيضًا List لمجموعات الالتقاط لكل Pattern تمت مطابقته.

يتطابق كل إدخال في القائمة الخارجية مع مستوى واحد من Pattern في شجرة البحث الثلاثية. سيتم تخزين قائمة مجموعات الالتقاط لكل مستوى. إذا لم تكن هناك عمليات تسجيل لمستوى معيّن، سيتم تخزين قائمة فارغة.

يُرجى العِلم أنّه سيتم List.clear() captures قبل بدء عملية الاسترداد. بالإضافة إلى ذلك، إذا تعذّر الاسترجاع بعد تسلسل جزئي من التطابقات، سيظل captures يعرض مجموعات الالتقاط من التطابق الجزئي.

المعلَمات
captures List: List<List<String>> سيتم عرض مجموعات الالتقاط من خلالها.

strings String: تسلسل من Strings للمطابقة

المرتجعات
V القيمة المرتبطة أو null إذا لم يتم العثور على أي قيمة

toString

public String toString ()

المرتجعات
String