source: trunk/src/gcc/libjava/java/text/BreakIterator.java@ 1479

Last change on this file since 1479 was 2, checked in by bird, 23 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 10.4 KB
Line 
1/* BreakIterator.java -- Breaks text into elements
2 Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
3
4This file is part of GNU Classpath.
5
6GNU Classpath is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU Classpath is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Classpath; see the file COPYING. If not, write to the
18Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1902111-1307 USA.
20
21Linking this library statically or dynamically with other modules is
22making a combined work based on this library. Thus, the terms and
23conditions of the GNU General Public License cover the whole
24combination.
25
26As a special exception, the copyright holders of this library give you
27permission to link this library with independent modules to produce an
28executable, regardless of the license terms of these independent
29modules, and to copy and distribute the resulting executable under
30terms of your choice, provided that you also meet, for each linked
31independent module, the terms and conditions of the license of that
32module. An independent module is a module which is not derived from
33or based on this library. If you modify this library, you may extend
34this exception to your version of the library, but you are not
35obligated to do so. If you do not wish to do so, delete this
36exception statement from your version. */
37
38
39package java.text;
40
41import java.util.Locale;
42import java.util.MissingResourceException;
43import java.util.ResourceBundle;
44
45/**
46 * This class iterates over text elements such as words, lines, sentences,
47 * and characters. It can only iterate over one of these text elements at
48 * a time. An instance of this class configured for the desired iteration
49 * type is created by calling one of the static factory methods, not
50 * by directly calling a constructor.
51 *
52 * @author Tom Tromey <[email protected]>
53 * @author Aaron M. Renn ([email protected])
54 * @date March 19, 1999
55 */
56/* Written using "Java Class Libraries", 2nd edition, plus online
57 * API docs for JDK 1.2 beta from http://www.javasoft.com.
58 * Status: Believed complete and correct to 1.1.
59 */
60public abstract class BreakIterator implements Cloneable
61{
62 /**
63 * This value is returned by the <code>next()</code> and
64 * <code>previous</code> in order to indicate that the end of the
65 * text has been reached.
66 */
67 // The value was discovered by writing a test program.
68 public static final int DONE = -1;
69
70 /**
71 * This method initializes a new instance of <code>BreakIterator</code>.
72 * This protected constructor is available to subclasses as a default
73 * no-arg superclass constructor.
74 */
75 protected BreakIterator ()
76 {
77 }
78
79 /**
80 * This method returns the index of the current text element boundary.
81 *
82 * @return The current text boundary.
83 */
84 public abstract int current ();
85
86 /**
87 * This method returns the first text element boundary in the text being
88 * iterated over.
89 *
90 * @return The first text boundary.
91 */
92 public abstract int first ();
93
94 /**
95 * This methdod returns the offset of the text element boundary following
96 * the specified offset.
97 *
98 * @param offset The text index from which to find the next text boundary.
99 *
100 * @param The next text boundary following the specified index.
101 */
102 public abstract int following (int pos);
103
104 /**
105 * This method returns a list of locales for which instances of
106 * <code>BreakIterator</code> are available.
107 *
108 * @return A list of available locales
109 */
110 public static synchronized Locale[] getAvailableLocales ()
111 {
112 Locale[] l = new Locale[1];
113 l[0] = Locale.US;
114 return l;
115 }
116