1 /** 2 * com.mckoi.database.global.StringAccessor 30 Jan 2003 3 * 4 * Mckoi SQL Database ( http://www.mckoi.com/database ) 5 * Copyright (C) 2000, 2001, 2002 Diehl and Associates, Inc. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * Version 2 as published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License Version 2 for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * Version 2 along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 * 20 * Change Log: 21 * 22 * 23 */ 24 25 package com.mckoi.database.global; 26 27 import java.io.Reader; 28 29 /** 30 * An interface used by the engine to access and process strings. This 31 * interface allows us to access the contents of a string that may be 32 * implemented in several different ways. For example, a string may be 33 * represented as a java.lang.String object in memeory, or it may be 34 * represented as an ASCII sequence in a store. 35 * 36 * @author Tobias Downer 37 */ 38 39 public interface StringAccessor { 40 41 /** 42 * Returns the number of characters in the string. 43 */ 44 public int length(); 45 46 /** 47 * Returns a Reader that allows the string to be read sequentually from 48 * start to finish. 49 */ 50 public Reader getReader(); 51 52 /** 53 * Returns this string as a java.lang.String object. Some care may be 54 * necessary with this call because a very large string will require a lot 55 * space on the heap. 56 */ 57 public String toString(); 58 59 } 60 61