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()

पब्लिक कंस्ट्रक्टर

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)

ट्राइ से कोई वैल्यू फ़ेच करें. इसके लिए, ट्राइ में सेव किए गए 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