1 /*******************************************************************************
2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $(date) The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
20 *******************************************************************************/
22 // This software is now distributed according to
23 // the Lesser Gnu Public License. Please see
24 // http://www.gnu.org/copyleft/lesser.txt for
26 // -- Happy Computing!
31 * Package pat can search anything that implements this interface. Package pat
32 * assumes the following:
34 * <li>The StringLike object will not change. Calls to charAt(int) will not vary
36 * <li>The length of the object being searched is known before the search begins
37 * and does not vary with time.
39 * Note that searching String is probably faster than searching other objects,
40 * so searching String is still preferred if possible.
42 public interface StringLike
44 public char charAt(int i);
46 public String toString();
50 public String substring(int i1, int i2);
53 * Obtain the underlying object, be it a String, char[], RandomAccessFile,
56 public Object unwrap();
59 * By default, the result is put in a String or char[] when a replace is done.
60 * If you wish to save the result in some other StringBufferLike then you can
61 * do this by implementing this method, or over-riding it's behavior from an
64 public BasicStringBufferLike newStringBufferLike();
66 public int indexOf(char c);