OSDN Git Service

* All files: Updated copyright information.
[pf3gnuchains/gcc-fork.git] / libjava / gnu / gcj / text / BaseBreakIterator.java
1 // Base class for default BreakIterators.
2
3 /* Copyright (C) 1999  Free Software Foundation
4
5    This file is part of libgcj.
6
7 This software is copyrighted work licensed under the terms of the
8 Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
9 details.  */
10
11 package gnu.gcj.text;
12
13 import java.text.BreakIterator;
14 import java.text.CharacterIterator;
15
16 /**
17  * @author Tom Tromey <tromey@cygnus.com>
18  * @date March 22, 1999
19  */
20
21 public abstract class BaseBreakIterator extends BreakIterator
22 {
23   public int current ()
24   {
25     return iter.getIndex();
26   }
27
28   public int first ()
29   {
30     iter.first();
31     return iter.getBeginIndex();
32   }
33
34   public int following (int pos)
35   {
36     int save = iter.getIndex();
37     iter.setIndex(pos);
38     int r = next ();
39     iter.setIndex(save);
40     return r;
41   }
42
43   public CharacterIterator getText ()
44   {
45     return iter;
46   }
47
48   public int last ()
49   {
50     iter.last();
51     return iter.getEndIndex();
52   }
53
54   public int next (int n)
55   {
56     int r = iter.getIndex ();
57     if (n > 0)
58       {
59         while (n > 0 && r != DONE)
60           {
61             r = next ();
62             --n;
63           }
64       }
65     else if (n < 0)
66       {
67         while (n < 0 && r != DONE)
68           {
69             r = previous ();
70             ++n;
71           }
72       }
73     return r;
74   }
75
76   public void setText (CharacterIterator newText)
77   {
78     iter = newText;
79   }
80
81   protected CharacterIterator iter;
82 }