package ua.yandex.shad.tries;

public interface Trie {

    void add(Tuple word);

    boolean contains(String word);

    boolean delete(String word);

    Iterable<String> words();

    Iterable<String> wordsWithPrefix(String pref);
    
    int size();
}

@@ -1,187 +1,2094 @@
-package ua.yandex.shad.tries;%0A%0Apublic interface Trie %7B%0A%0A    void add(Tuple word);%0A%0A    boolean contains(String word);%0A%0A    boolean delete(String word);%0A%0A    Iterable%3CString%3E words();%0A
+/*%0A * The MIT License (MIT)%0A *%0A * Copyright (c) 2015 Ruslan Sakevych%0A *%0A * Permission is hereby granted, free of charge, to any person obtaining a copy%0A * of this software and associated documentation files (the %22Software%22), to deal%0A * in the Software without restriction, including without limitation the rights%0A * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell%0A * copies of the Software, and to permit persons to whom the Software is%0A * furnished to do so, subject to the following conditions:%0A *%0A * The above copyright notice and this permission notice shall be included in all%0A * copies or substantial portions of the Software.%0A *%0A * THE SOFTWARE IS PROVIDED %22AS IS%22, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR%0A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,%0A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE%0A * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER%0A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,%0A * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE%0A * SOFTWARE.%0A */%0A%0Apackage ua.yandex.shad.tries;%0A%0Apublic interface Trie %7B%0A%0A    /**%0A     * Adds word from %7B@code tuple%7D to trie.%0A     * @param tuple word and it's weight to add%0A     */%0A    void add(Tuple tuple);%0A%0A    /**%0A     * Checks if trie contains a %7B@code word%7D.%0A     * @param word actual word to check%0A     * @return true,  if contains%0A     *         false, if not%0A     */%0A    boolean contains(String word);%0A%0A    /**%0A     * Deletes %7B@code word%7D from trie.%0A     * @param word actual word to delete%0A     * @return true,  if success%0A     *         false, if not%0A     */%0A    boolean delete(String word);%0A%0A    /**%0A     * Gets %3Cb%3Eall%3C/b%3E words from trie.%0A     * @return instance of Iterable interface%0A     * @see java.lang.Iterable%0A     */%0A    Iterable%3CString%3E words();%0A%0A    /**%0A     * Gets words from trie, that matches %7B@code pref%7D.%0A     * @param pref actual prefix to match%0A     * @return instance of Iterable interface%0A     * @see java.lang.Iterable%0A     */
 %0A   
@@ -2135,20 +2135,96 @@
  pref);%0A
+%0A
     
+/**%0A     * Gets amount of words in trie.%0A     * @return actual size%0A     */
 %0A    int

Document Trie interface.