1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.gui.component;
21
22 import javax.swing.MutableComboBoxModel;
23
24 public interface CompletionModel extends MutableComboBoxModel
25 {
26 /***
27 * Inserts an object for later completion, matching is done using its
28 * {@link Object#toString()} method.
29 *
30 * @param object the object to be added
31 */
32 void insert(Object object);
33
34 /***
35 * Removes an object from the completion model.
36 *
37 * @param object the object to be removed
38 */
39 void remove(Object object);
40
41 /***
42 * Finds possible completions for a prefix.
43 *
44 * As a side effect the completions are added to the {@link
45 * MutableComboBoxModel}.
46 *
47 * @param prefix the prefix being matched
48 * @return true, if completion was successful, i.e. the prefix matches at
49 * least one item in the model
50 */
51 boolean complete(String prefix);
52
53 /***
54 * Returns largest common prefix of all possible completions for the given
55 * prefix.
56 *
57 * @param prefix the prefix being matched
58 * @return the largest common prefix of all possible matches
59 */
60 String completeUniquePrefix(String prefix);
61
62 }