01: package org.apache.regexp;
02:
03: /*
04: * ====================================================================
05: *
06: * The Apache Software License, Version 1.1
07: *
08: * Copyright (c) 1999 The Apache Software Foundation. All rights
09: * reserved.
10: *
11: * Redistribution and use in source and binary forms, with or without
12: * modification, are permitted provided that the following conditions
13: * are met:
14: *
15: * 1. Redistributions of source code must retain the above copyright
16: * notice, this list of conditions and the following disclaimer.
17: *
18: * 2. Redistributions in binary form must reproduce the above copyright
19: * notice, this list of conditions and the following disclaimer in
20: * the documentation and/or other materials provided with the
21: * distribution.
22: *
23: * 3. The end-user documentation included with the redistribution, if
24: * any, must include the following acknowlegement:
25: * "This product includes software developed by the
26: * Apache Software Foundation (http://www.apache.org/)."
27: * Alternately, this acknowlegement may appear in the software itself,
28: * if and wherever such third-party acknowlegements normally appear.
29: *
30: * 4. The names "The Jakarta Project", "Jakarta-Regexp", and "Apache Software
31: * Foundation" must not be used to endorse or promote products derived
32: * from this software without prior written permission. For written
33: * permission, please contact apache@apache.org.
34: *
35: * 5. Products derived from this software may not be called "Apache"
36: * nor may "Apache" appear in their names without prior written
37: * permission of the Apache Group.
38: *
39: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
40: * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
41: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
42: * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
43: * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
45: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
46: * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
47: * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
48: * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
49: * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
50: * SUCH DAMAGE.
51: * ====================================================================
52: *
53: * This software consists of voluntary contributions made by many
54: * individuals on behalf of the Apache Software Foundation. For more
55: * information on the Apache Software Foundation, please see
56: * <http://www.apache.org/>.
57: *
58: */
59:
60: /** Encapsulates String
61: *
62: * @author <a href="mailto:ales.novak@netbeans.com">Ales Novak</a>
63: */
64: public final class StringCharacterIterator implements CharacterIterator {
65: /** encapsulated */
66: private final String src;
67:
68: /** @param src - encapsulated String */
69: public StringCharacterIterator(String src) {
70: this .src = src;
71: }
72:
73: /** @return a substring */
74: public String substring(int offset, int length) {
75: return src.substring(offset, length);
76: }
77:
78: /** @return a substring */
79: public String substring(int offset) {
80: return src.substring(offset);
81: }
82:
83: /** @return a character at the specified position. */
84: public char charAt(int pos) {
85: return src.charAt(pos);
86: }
87:
88: /** @return <tt>true</tt> iff if the specified index is after the end of the character stream */
89: public boolean isEnd(int pos) {
90: return (pos >= src.length());
91: }
92: }
|