@Override public void register(final String path, final T value) { trie.put(path, value); }
@Override public List<T> get(final String path) { return trie.get(path); }
@Test public void testWithSimpleCharacterClass() { final SimpleRegexTrie<String> trie = new SimpleRegexTrie<String>(); trie.put(SCC, SCC); assertTrue(AACBB, trie.get(AACBB).size() == 1); } }
/** * Enables the use of simple character classes like 'a[agt][ac]'. Calls the * method of {@link WildcardTrie} for further treatment. * * @param keys pattern of keys * @param value value to associate with the key pattern */ public void put(final String keys, final P value) { if (keys.matches(".*" + SIMPLE_CHARACTER_CLASS + ".*")) { int charClassStart = keys.indexOf('[', 0); final int charClassEnd = keys.indexOf(']', 1); String begin = keys.substring(0, charClassStart); for (; charClassStart < charClassEnd - 1; charClassStart++) { char middle = keys.charAt(charClassStart + 1); String end = keys.substring(charClassEnd + 1, keys.length()); put(begin + middle + end, value); } } else trie.put(keys, value); }