RegexTrie

public class RegexTrie
extends Object

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


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

वाइल्डकार्ड के तौर पर काम करने के लिए, Pattern सीक्वेंस में null एंट्री का इस्तेमाल भी किया जा सकता है. अगर null मिलता है, तो क्रम में इसके बाद की सभी एंट्री को अनदेखा कर दिया जाएगा. जब कोड को वापस पाने के लिए इस्तेमाल किए जाने वाले कोड में null Pattern दिखता है, तो वह पहले यह देखने के लिए इंतज़ार करता है कि क्या कोई ज़्यादा सटीक एंट्री, क्रम से मेल खाती है. अगर कोई एंट्री ज़्यादा सटीक है, तो उसे प्रोसेस किया जाएगा. भले ही, बाद में वह मैच न हो.

अगर ज़्यादा सटीक एंट्री मैच नहीं होती है, तो वाइल्डकार्ड मैच, कैप्चर की सूची में बाकी सभी Strings जोड़ देगा. हालांकि, ऐसा तब होगा, जब यह सुविधा चालू हो. इसके बाद, वाइल्डकार्ड से जुड़ी वैल्यू दिखाएगा.

वाइल्डकार्ड की सुविधा का एक छोटा सा उदाहरण:

 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)

यह हेल्पर तरीका, रेगुलर एक्सप्रेशन की सूची को String के तौर पर लेता है और उन्हें तुरंत कंपाइल करता है. इसके बाद, अगले Pattern को ट्राइ में जोड़ता है

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

ट्राय में कोई एंट्री जोड़ें.

V retrieve(String... strings)

ट्राय में सेव किए गए Pattern के क्रम से, दिए गए String के क्रम को मैच करके, ट्राय से कोई वैल्यू फ़ेच करता है.

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

ट्राय में सेव किए गए Pattern के क्रम से, दिए गए String के क्रम को मैच करके, ट्राय से कोई वैल्यू फ़ेच करता है.

String toString()

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

RegexTrie

public RegexTrie ()

पब्लिक मेथड

मिटाएं

public void clear ()

रखें

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

यह हेल्पर तरीका, रेगुलर एक्सप्रेशन की सूची को String के तौर पर लेता है और उन्हें तुरंत कंपाइल करता है. इसके बाद, अगले Pattern को ट्राइ में जोड़ता है

पैरामीटर
value V: सेट की जाने वाली वैल्यू

regexen String: रेगुलर एक्सप्रेशन (String के तौर पर) का वह क्रम जो value को वापस पाने के लिए, क्रम से मैच होना चाहिए. put(Object,Pattern...) को शुरू करने से पहले, हर स्ट्रिंग को Pattern के तौर पर कंपाइल किया जाएगा.

रिटर्न
V

रखें

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

ट्राय में कोई एंट्री जोड़ें.

पैरामीटर
value V: सेट की जाने वाली वैल्यू

patterns Pattern: Pattern का वह क्रम जिसे क्रम से मैच किया जाना चाहिए, ताकि उससे जुड़ा value वापस पाया जा सके

रिटर्न
V

वैल्यू पाएं

public V retrieve (String... strings)

ट्राय में सेव किए गए Pattern के क्रम से, दिए गए String के क्रम को मैच करके, ट्राय से कोई वैल्यू फ़ेच करता है.

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

रिटर्न
V इससे जुड़ी वैल्यू या अगर कोई वैल्यू नहीं मिली, तो null

वैल्यू पाएं

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

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

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

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

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

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

रिटर्न
V इससे जुड़ी वैल्यू या अगर कोई वैल्यू नहीं मिली, तो null

toString

public String toString ()

रिटर्न
String