gcc/libjava/java/text/BreakIterator.java
Warren Levy bc6ccd3316 PropertyChangeEvent.java (serialVersionUID): Added.
* java/beans/PropertyChangeEvent.java (serialVersionUID): Added.
	* java/beans/PropertyVetoException.java (serialVersionUID): Added.
	* java/io/File.java (writeObject): Added.
	(readObject): Added.
	(serialVersionUID): Added.
	* java/io/ObjectOutputStream.java (writeObject): Initialized
	fieldsAlreadyWritten before recursion rather than after.
	* java/io/ObjectStreamClass.java (serialVersionUID): Added.
	* java/io/OptionalDataException.java (serialVersionUID): Added.
	(OptionalDataException): Made package private.
	* java/io/SyncFailedException.java (SyncFailedException): Removed
	default constructor to match spec.
	* java/lang/Boolean.java (serialVersionUID): Added.
	* java/lang/Byte.java (serialVersionUID): Added.
	* java/lang/Character.java (serialVersionUID): Added.
	* java/lang/Double.java (serialVersionUID): Added.
	* java/lang/Float.java (serialVersionUID): Added.
	* java/lang/Integer.java (serialVersionUID): Added.
	* java/lang/Long.java (serialVersionUID): Added.
	* java/lang/Number.java (serialVersionUID): Added.
	* java/lang/Short.java (serialVersionUID): Added.
	* java/lang/String.java (serialVersionUID): Added.
	* java/lang/ThreadDeath.java (ThreadDeath): Removed constructor
	to match spec.
	* java/lang/reflect/InvocationTargetException.java
	(serialVersionUID): Added.
	* java/net/URL.java (handler): Made transient.
	(hashCode): Added field for serialization, per spec. and use
	cached value if available.
	(serialVersionUID): Added.
	(URL): Initialize hashCode.
	(set): Adjust hashCode.
	(readObject): New Method to initialize the protocol handler when
	deserializing.
	(writeObject): New method.
	* java/text/BreakIterator.java: Removed 'implements Serializable'.
	* java/text/Collator.java: Removed 'implements Serializable'.
	* java/util/GregorianCalendar.java (serialVersionUID): Added.
	* java/util/Properties.java (serialVersionUID): Added.
	* java/util/Random.java (serialVersionUID): Added.
	(seed): Made private.
	(nextNextGaussian): Made private.
	(haveNextNextGaussian): Made private.
	* java/util/Stack.java (serialVersionUID): Added.
	* java/util/TimeZone.java (serialVersionUID): Added.
	* java/util/Vector.java (serialVersionUID): Added.

Serialization mods.

From-SVN: r36272
2000-09-08 19:37:09 +00:00

160 lines
3.5 KiB
Java

// BreakIterator.java - Iterate over logical breaks in text.
/* Copyright (C) 1999 Free Software Foundation
This file is part of libgcj.
This software is copyrighted work licensed under the terms of the
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
package java.text;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
/**
* @author Tom Tromey <tromey@cygnus.com>
* @date March 19, 1999
*/
/* Written using "Java Class Libraries", 2nd edition, plus online
* API docs for JDK 1.2 beta from http://www.javasoft.com.
* Status: Believed complete and correct to 1.1.
*/
public abstract class BreakIterator implements Cloneable
{
// The value was discovered by writing a test program.
public static final int DONE = -1;
protected BreakIterator ()
{
}
public abstract int current ();
public abstract int first ();
public abstract int following (int pos);
public static synchronized Locale[] getAvailableLocales ()
{
// FIXME.
return null;
}
private static BreakIterator getInstance (String type, Locale loc)
{
String className;
try
{
ResourceBundle res
= ResourceBundle.getBundle("gnu.gcj.text.LocaleData", loc);
className = res.getString(type);
}
catch (MissingResourceException x)
{
return null;
}
try
{
Class k = Class.forName(className);
return (BreakIterator) k.newInstance();
}
catch (ClassNotFoundException x1)
{
return null;
}
catch (InstantiationException x2)
{
return null;
}
catch (IllegalAccessException x3)
{
return null;
}
}
public static BreakIterator getCharacterInstance ()
{
return getCharacterInstance (Locale.getDefault());
}
public static BreakIterator getCharacterInstance (Locale loc)
{
BreakIterator r = getInstance ("CharacterIterator", loc);
if (r == null)
r = new gnu.gcj.text.CharacterBreakIterator ();
return r;
}
public static BreakIterator getLineInstance ()
{
return getLineInstance (Locale.getDefault());
}
public static BreakIterator getLineInstance (Locale loc)
{
BreakIterator r = getInstance ("LineIterator", loc);
if (r == null)
r = new gnu.gcj.text.LineBreakIterator ();
return r;
}
public static BreakIterator getSentenceInstance ()
{
return getSentenceInstance (Locale.getDefault());
}
public static BreakIterator getSentenceInstance (Locale loc)
{
BreakIterator r = getInstance ("SentenceIterator", loc);
if (r == null)
r = new gnu.gcj.text.SentenceBreakIterator ();
return r;
}
public abstract CharacterIterator getText ();
public static BreakIterator getWordInstance ()
{
return getWordInstance (Locale.getDefault());
}
public static BreakIterator getWordInstance (Locale loc)
{
BreakIterator r = getInstance ("WordIterator", loc);
if (r == null)
r = new gnu.gcj.text.WordBreakIterator ();
return r;
}
public boolean isBoundary (int pos)
{
if (pos == 0)
return true;
return following (pos - 1) == pos;
}
public abstract int last ();
public abstract int next ();
public abstract int next (int n);
public int preceding (int pos)
{
if (following (pos) == DONE)
last ();
while (previous () >= pos)
;
return current ();
}
public abstract int previous ();
public void setText (String newText)
{
setText (new StringCharacterIterator (newText));
}
public abstract void setText (CharacterIterator newText);
}