RegexTrie

public class RegexTrie
extends Object

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


RegexTrie adalah trie yang setiap segmen tersimpan dari kuncinya adalah regex Pattern. Dengan demikian, kunci tersimpan lengkap adalah List&lt;Pattern&gt;, bukan List&lt;String&gt; seperti pada trie standar. Perhatikan bahwa metode retrieve(String...) akan dicocokkan secara pointwise dengan Pattern, bukan diperiksa kesamaan pointwise-nya seperti pada trie standar. Oleh karena itu, performanya mungkin buruk untuk set data besar.

Anda juga dapat menggunakan entri null dalam urutan Pattern untuk berfungsi sebagai karakter pengganti. Jika null ditemukan, semua entri berikutnya dalam urutan akan diabaikan. Saat kode pengambilan menemukan null Pattern, kode tersebut akan menunggu terlebih dahulu untuk melihat apakah entri yang lebih spesifik cocok dengan urutannya. Jika ada, entri yang lebih spesifik tersebut akan dilanjutkan, meskipun kemudian gagal dicocokkan.

Jika tidak ada entri yang lebih spesifik yang cocok, kecocokan karakter pengganti akan menambahkan semua String yang tersisa ke daftar pengambilan (jika diaktifkan) dan menampilkan nilai yang terkait dengan karakter pengganti.

Contoh singkat fungsi karakter pengganti:

 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 [[], []]
 

Ringkasan

Konstruktor publik

RegexTrie()

Metode publik

void clear()
V put(V value, String... regexen)

Metode helper ini mengambil daftar ekspresi reguler sebagai String dan mengompilasinya secara langsung sebelum menambahkan Pattern berikutnya ke trie

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

Menambahkan entri ke trie.

V retrieve(String... strings)

Mengambil nilai dari trie, dengan mencocokkan urutan String yang diberikan dengan urutan Pattern yang disimpan dalam trie.

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

Mengambil nilai dari trie, dengan mencocokkan urutan String yang diberikan dengan urutan Pattern yang disimpan dalam trie.

String toString()

Konstruktor publik

RegexTrie

public RegexTrie ()

Metode publik

hapus

public void clear ()

put

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

Metode helper ini mengambil daftar ekspresi reguler sebagai String dan mengompilasinya secara langsung sebelum menambahkan Pattern berikutnya ke trie

Parameter
value V: Nilai yang akan ditetapkan

regexen String: Urutan ekspresi reguler (sebagai String) yang harus dicocokkan secara berurutan untuk mengambil value terkait. Setiap String akan dikompilasi sebagai Pattern sebelum memanggil put(Object,Pattern...).

Hasil
V

put

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

Menambahkan entri ke trie.

Parameter
value V: Nilai yang akan ditetapkan

patterns Pattern: Urutan Pattern yang harus dicocokkan secara berurutan untuk mengambil value terkait

Hasil
V

ambil

public V retrieve (String... strings)

Mengambil nilai dari trie, dengan mencocokkan urutan String yang diberikan dengan urutan Pattern yang disimpan dalam trie.

Parameter
strings String: Urutan String yang akan dicocokkan

Hasil
V Nilai terkait, atau null jika tidak ada nilai yang ditemukan

ambil

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

Mengambil nilai dari trie, dengan mencocokkan urutan String yang diberikan dengan urutan Pattern yang disimpan dalam trie. Versi metode ini juga menampilkan List grup pengambilan untuk setiap Pattern yang cocok.

Setiap entri dalam List luar sesuai dengan satu level Pattern dalam trie. Untuk setiap level, daftar grup pengambilan akan disimpan. Jika tidak ada rekaman untuk tingkat tertentu, daftar kosong akan disimpan.

Perhatikan bahwa captures akan di-List.clear() sebelum pengambilan dimulai. Selain itu, jika pengambilan gagal setelah urutan kecocokan parsial, captures akan tetap mencerminkan grup tangkapan dari kecocokan parsial.

Parameter
captures List: List<List<String>> yang akan menampilkan grup pengambilan.

strings String: Urutan String yang akan dicocokkan

Hasil
V Nilai terkait, atau null jika tidak ada nilai yang ditemukan

toString

public String toString ()

Hasil
String