1 /* Copyright (c) 2008 Sascha Kohlmann 2 * 3 * This program is free software: you can redistribute it and/or modify 4 * it under the terms of the GNU Affero General Public License as published by 5 * the Free Software Foundation, either version 3 of the License, or 6 * (at your option) any later version. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU Affero General Public License for more details. 12 * 13 * You should have received a copy of the GNU Affero General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 package net.sf.eos.trie; 17 18 import java.io.InputStream; 19 20 /** 21 * Implementations creates new tries. 22 * @author Sascha Kohlmann 23 */ 24 public interface TrieLoader<K, V> { 25 26 /** 27 * Creates a <{@code Trie} from the <code>InputStream</code>. 28 * @param trieData stream pointing to the trie structure data. 29 * @param trie the trie to fill with the <em>trieData</em> 30 * @throws Exception if the builder is unable to create the trie. 31 */ 32 void loadTrie(final InputStream trieData, 33 final Trie<K, V> trie) throws Exception; 34 }