RegexTrie

public class RegexTrie
extends Object

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


RegexTrie एक ट्राई है, जहां कुंजी का हर सेव किया गया सेगमेंट एक रेगुलर एक्सप्रेशन ERROR(/Pattern) होता है. इसलिए, स्टैंडर्ड ट्राई में List&lt;String&gt; के बजाय, पूरी सेव की गई कुंजी List&lt;Pattern&gt; होती है. ध्यान दें कि retrieve(String) तरीके को Pattern से पॉइंट के हिसाब से मैच किया जाएगा. इसमें स्टैंडर्ड ट्राई की तरह पॉइंट के हिसाब से बराबरी की जांच नहीं की जाएगी. इस वजह से, हो सकता है कि बड़े डेटासेट के लिए इसकी परफ़ॉर्मेंस खराब हो.

वाइल्डकार्ड के तौर पर इस्तेमाल करने के लिए, Pattern क्रम में null एंट्री का भी इस्तेमाल किया जा सकता है. अगर 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)

ट्राइ से कोई वैल्यू फ़ेच करें. इसके लिए, ट्राइ में सेव किए गए ERROR(/Pattern) के क्रम से, दिए गए String के क्रम को मैच करें.

V retrieve( captures, String... strings)

ट्राइ से कोई वैल्यू फ़ेच करें. इसके लिए, ट्राइ में सेव किए गए ERROR(/Pattern) के क्रम से, दिए गए String के क्रम को मैच करें.

String toString()

सार्वजनिक कंस्ट्रक्टर

रेजेक्सट्री

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)

ट्राइ से कोई वैल्यू फ़ेच करें. इसके लिए, ट्राइ में सेव किए गए ERROR(/Pattern) के क्रम से, दिए गए String के क्रम को मैच करें.

पैरामीटर
strings String: मैच करने के लिए String का क्रम

रिटर्न
V उससे जुड़ी वैल्यू या कोई वैल्यू न मिलने पर null

वापस पाना

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

ट्राइ से कोई वैल्यू फ़ेच करें. इसके लिए, ट्राइ में सेव किए गए ERROR(/Pattern) के क्रम से, दिए गए String के क्रम को मैच करें. इस तरीके के इस वर्शन में, मैच होने वाले हर ERROR(/Pattern) के लिए कैप्चर ग्रुप का ERROR(/List) भी दिखाया जाता है.

बाहरी सूची की हर एंट्री, ट्राई में Pattern के एक लेवल के बराबर होती है. हर लेवल के लिए, कैप्चर ग्रुप की सूची सेव की जाएगी. अगर किसी लेवल के लिए कोई कैप्चर नहीं किया गया है, तो खाली सूची सेव की जाएगी.

ध्यान दें कि डेटा वापस पाने की प्रोसेस शुरू होने से पहले, captures को ERROR(/List#clear()) कर दिया जाएगा. इसके अलावा, अगर मैच के कुछ हिस्से के बाद डेटा वापस नहीं मिलता है, तो captures अब भी मैच के कुछ हिस्से से कैप्चर ग्रुप दिखाएगा.

पैरामीटर
captures : वह List<List<String>> जिसके ज़रिए कैप्चर ग्रुप दिखाए जाएंगे.

strings String: मिलान करने के लिए String का क्रम

रिटर्न
V संबंधित वैल्यू या कोई वैल्यू न मिलने पर, null

toString

public String toString ()

रिटर्न
String