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);
}