01: /*
02: * gnu/regexp/CharIndexedCharArray.java
03: * Copyright (C) 1998 Wes Biggs
04: *
05: * This library is free software; you can redistribute it and/or modify
06: * it under the terms of the GNU Library General Public License as published
07: * by the Free Software Foundation; either version 2 of the License, or
08: * (at your option) any later version.
09: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13: * GNU Library General Public License for more details.
14: *
15: * You should have received a copy of the GNU Library General Public License
16: * along with this program; if not, write to the Free Software
17: * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18: */
19: package gnu.regexp;
20:
21: class CharIndexedCharArray implements CharIndexed {
22: private char[] s;
23: private int m_index;
24:
25: CharIndexedCharArray(char[] str, int index) {
26: s = str;
27: m_index = index;
28: }
29:
30: public char charAt(int index) {
31: return ((m_index + index) < s.length) ? s[m_index + index]
32: : CharIndexed.OUT_OF_BOUNDS;
33: }
34:
35: public boolean isValid() {
36: return (m_index < s.length);
37: }
38:
39: public boolean move(int index) {
40: return ((m_index += index) < s.length);
41: }
42: }
|