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를 발견하면 먼저 더 구체적인 항목이 시퀀스와 일치하는지 기다립니다. 일치하는 항목이 있으면 이후에 일치하지 않더라도 더 구체적인 항목이 진행됩니다.

더 구체적인 항목이 일치하지 않으면 와일드 카드 일치로 남은 모든 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)

이 도우미 메서드는 정규 표현식 목록을 String로 가져와 즉시 컴파일한 후 후속 Pattern를 트라이에 추가합니다.

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)

이 도우미 메서드는 정규 표현식 목록을 String로 가져와 즉시 컴파일한 후 후속 Pattern를 트라이에 추가합니다.

매개변수
value V: 설정할 값

regexen String: 연결된 value를 가져오기 위해 순차적으로 일치해야 하는 정규 표현식 (String)의 시퀀스입니다. 각 문자열은 put(Object,Pattern...)를 호출하기 전에 Pattern로 컴파일됩니다.

반환
V

put

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

트라이에 항목을 추가합니다.

매개변수
value V: 설정할 값

patterns Pattern: 연결된 value를 가져오기 위해 순차적으로 일치해야 하는 Pattern의 시퀀스

반환
V

retrieve

public V retrieve (String... strings)

제공된 String 시퀀스를 트라이에 저장된 Pattern 시퀀스와 일치시켜 트라이에서 값을 가져옵니다.

매개변수
strings String: 일치시킬 String 시퀀스

반환
V 연결된 값 또는 값을 찾을 수 없는 경우 null

retrieve

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

제공된 String 시퀀스를 트라이에 저장된 Pattern 시퀀스와 일치시켜 트라이에서 값을 가져옵니다. 이 버전의 메서드는 일치된 각 Pattern의 캡처 그룹 List도 반환합니다.

외부 목록의 각 항목은 트라이의 Pattern 한 수준에 해당합니다. 각 수준에 대해 캡처 그룹 목록이 저장됩니다. 특정 수준에 캡처가 없으면 빈 목록이 저장됩니다.

captures은 가져오기가 시작되기 전에 List.clear()됩니다. 또한 부분 일치 시퀀스 후에 가져오기에 실패하더라도 captures는 부분 일치에서 캡처 그룹을 계속 반영합니다.

매개변수
captures List: 캡처 그룹이 반환되는 List<List<String>>입니다.

strings String: 일치시킬 String 시퀀스

반환
V 연결된 값 또는 값을 찾을 수 없는 경우 null

toString

public String toString ()

반환
String