package//
// This software is now distributed according to
// the Lesser Gnu Public License. Please see
// http://www.gnu.org/copyleft/lesser.txt for
// the details.
// -- Happy Computing!
//
com.stevesoft.pat;
/** Package pat can search anything that implements this
interface. Package pat assumes the following:
- The StringLike object will not change. Calls to
charAt(int) will not vary with time.
- The length of the object being searched is known
before the search begins and does not vary with time.
Note that searching String is probably faster than searching
other objects, so searching String is still preferred if
possible.
*/
public interface StringLike {
public char charAt(int i);
public String toString();
public int length();
public String substring(int i1,int i2);
/** Obtain the underlying object, be it a String, char[],
RandomAccessFile, whatever. */
public Object unwrap();
/** By default, the result is put in a String or char[]
when a replace is done. If you wish to save the result
in some other StringBufferLike then you can do this
by implementing this method, or over-riding it's behavior
from an existing class. */
public BasicStringBufferLike newStringBufferLike();
public int indexOf(char c);
}