private List doSearch (String prefix) { List results = new ArrayList (); // do search forward the selected index int startIndex = getSelectedIndex () == -1 ? 0 : getSelectedIndex(); int size = getModel ().getSize (); while (true) { startIndex = startIndex % size; startIndex = getNextMatch (prefix, startIndex, Position.Bias.Forward); if (startIndex != -1 && !results.contains(new Integer (startIndex))) { results.add (new Integer (startIndex)); String elementName = getModel().getElementAt(startIndex).toString(); // initialize prefix if (maxPrefix == null) { maxPrefix = elementName; } maxPrefix = findMaxPrefix (maxPrefix, elementName); // try next element startIndex ++; } else { break; } } return results; }
private List<Integer> doSearch(String prefix) { List<Integer> results = new ArrayList<Integer>(); // do search forward the selected index int startIndex = (getSelectedIndex() == -1) ? 0 : getSelectedIndex(); int size = getModel().getSize(); if (size == 0) return results; // nothing to search while (true) { startIndex = startIndex % size; startIndex = getNextMatch(prefix, startIndex, Position.Bias.Forward); if ((startIndex != -1) && !results.contains(new Integer(startIndex))) { results.add(Integer.valueOf(startIndex)); String elementName = getModel().getElementAt(startIndex).toString(); // initialize prefix if (maxPrefix == null) { maxPrefix = elementName; } maxPrefix = findMaxPrefix(maxPrefix, elementName); // try next element startIndex++; } else { break; } } return results; }
private List doSearch (String prefix) { List results = new ArrayList (); // do search forward the selected index int startIndex = getSelectedIndex () == -1 ? 0 : getSelectedIndex(); int size = getModel ().getSize (); while (true) { startIndex = startIndex % size; startIndex = getNextMatch (prefix, startIndex, Position.Bias.Forward); if (startIndex != -1 && !results.contains(new Integer (startIndex))) { results.add (new Integer (startIndex)); String elementName = getModel().getElementAt(startIndex).toString(); // initialize prefix if (maxPrefix == null) { maxPrefix = elementName; } maxPrefix = findMaxPrefix (maxPrefix, elementName); // try next element startIndex ++; } else { break; } } return results; }