aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/text
diff options
context:
space:
mode:
authorMatthias Klose <doko@gcc.gnu.org>2007-06-03 23:18:43 +0000
committerMatthias Klose <doko@gcc.gnu.org>2007-06-03 23:18:43 +0000
commite1bea0c0687c5f4551b3a6058ec37ce3705fa6cc (patch)
treea9c9e7d91c484d53fe154f9285fc57325572ce50 /libjava/java/text
parentaf333b9a7f9e1cc1029bec56d48f2de63acdf686 (diff)
downloadgcc-e1bea0c0687c5f4551b3a6058ec37ce3705fa6cc.zip
gcc-e1bea0c0687c5f4551b3a6058ec37ce3705fa6cc.tar.gz
gcc-e1bea0c0687c5f4551b3a6058ec37ce3705fa6cc.tar.bz2
libjava/classpath/ChangeLog.gcj:
2007-05-31 Matthias Klose <doko@ubuntu.com> * javax/management/NotificationBroadcasterSupport.java (getNotificationInfo): Add cast. * native/jni/qt-peer/Makefile.am (AM_CXXFLAGS): Add libstdc++ include directories. * native/jni/qt-peer/Makefile.in: Regenerate. libjava/ChangeLog: 2007-06-03 Matthias Klose <doko@ubuntu.com> * java/io/natFileWin32.cc (setFilePermissions): New (stub only). _access: Handle EXEC query, stub only. 2007-06-03 Matthias Klose <doko@ubuntu.com> Merged from classpath: * gnu/java/nio/SelectorProviderImpl.java: Whitespace merge. * java/lang/System.java(inheritedChannel): New. * java/lang/Character.java: Remove stray`;'. * java/net/MulticastSocket.java: Merged. * java/text/DateFormatSymbols.java(getInstance): New, comment updates. * java/text/Collator.java(getInstance): Merged. * java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG. getDisplayName, getDisplayNames: New. * java/util/logging/Logger.java: Merged. * Regenerate .class and .h files. 2007-06-03 Matthias Klose <doko@ubuntu.com> * java/io/File.java: Merge with classpath-0.95, new method setFilePermissions, new attribute EXEC. * java/io/natFilePosix.cc (setFilePermissions): New. _access: Handle EXEC query. * classpath/lib/java/io/File.class, java/io/File.h: Regenerate. 2007-06-03 Matthias Klose <doko@ubuntu.com> Imported GNU Classpath 0.95. * classpath/Makefile.in, classpath/native/jni/midi-dssi/Makefile.in, classpath/native/jni/classpath/Makefile.in, classpath/native/jni/Makefile.in, classpath/native/jni/gconf-peer/Makefile.in, classpath/native/jni/java-io/Makefile.in, classpath/native/jni/native-lib/Makefile.in, classpath/native/jni/java-util/Makefile.in, classpath/native/jni/midi-alsa/Makefile.in, classpath/native/jni/java-lang/Makefile.in, classpath/native/jni/java-nio/Makefile.in, classpath/native/jni/java-net/Makefile.in, classpath/native/jni/xmlj/Makefile.in, classpath/native/jni/qt-peer/Makefile.in, classpath/native/jni/gtk-peer/Makefile.in, classpath/native/Makefile.in, classpath/native/jawt/Makefile.in, classpath/native/fdlibm/Makefile.in, classpath/native/plugin/Makefile.in, classpath/resource/Makefile.in, classpath/scripts/Makefile.in, classpath/tools/Makefile.in, classpath/doc/Makefile.in, classpath/doc/api/Makefile.in, classpath/lib/Makefile.in, classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in, classpath/external/sax/Makefile.in, classpath/external/w3c_dom/Makefile.in, classpath/external/relaxngDatatype/Makefile.in, classpath/include/Makefile.in, classpath/examples/Makefile.in: Regenerate. * classpath/config.guess, classpath/config.sub, classpath/ltmain.sh : Update. * classpath/configure, classpath/depcomp, classpath/missing, classpath/aclocal.m4, classpath/install-sh: Regenerate. * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95. * sources.am: Regenerate. * Makefile.in: Regenerate. * Update the .class files and generated CNI header files, add new .class and generated CNI header files. * Remove generated files for removed java source files: classpath/gnu/java/net/BASE64.java, classpath/gnu/java/security/util/Base64.java, classpath/gnu/java/awt/peer/gtk/GThreadMutex.java, classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, classpath/gnu/java/awt/font/autofit/Scaler.java, classpath/gnu/classpath/jdwp/util/Value.java, classpath/gnu/javax/net/ssl/Base64.java. * Remove empty directories. * Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc. * java/lang/Class.java(setAccessible): Merge from classpath. * java/util/Locale.java: Remove. * gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java, gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New. * gcj/javaprims.h: Update class declarations. * scripts/classes.pl: Update usage. * HACKING: Mention to build all peers. From-SVN: r125302
Diffstat (limited to 'libjava/java/text')
-rw-r--r--libjava/java/text/Collator.java51
-rw-r--r--libjava/java/text/DateFormat.h1
-rw-r--r--libjava/java/text/DateFormatSymbols.h3
-rw-r--r--libjava/java/text/DateFormatSymbols.java103
-rw-r--r--libjava/java/text/DecimalFormatSymbols.h4
-rw-r--r--libjava/java/text/DecimalFormatSymbols.java75
-rw-r--r--libjava/java/text/spi/BreakIteratorProvider.h38
-rw-r--r--libjava/java/text/spi/CollatorProvider.h35
-rw-r--r--libjava/java/text/spi/DateFormatProvider.h37
-rw-r--r--libjava/java/text/spi/DateFormatSymbolsProvider.h35
-rw-r--r--libjava/java/text/spi/DecimalFormatSymbolsProvider.h35
-rw-r--r--libjava/java/text/spi/NumberFormatProvider.h38
12 files changed, 440 insertions, 15 deletions
diff --git a/libjava/java/text/Collator.java b/libjava/java/text/Collator.java
index aa64316..3e64172 100644
--- a/libjava/java/text/Collator.java
+++ b/libjava/java/text/Collator.java
@@ -38,10 +38,13 @@ exception statement from your version. */
package java.text;
+import java.text.spi.CollatorProvider;
+
import java.util.Comparator;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
+import java.util.ServiceLoader;
/**
* This class is the abstract superclass of classes which perform
@@ -286,7 +289,8 @@ public abstract class Collator implements Comparator<Object>, Cloneable
/**
* This method returns an instance of <code>Collator</code> for the
* specified locale. If no <code>Collator</code> exists for the desired
- * locale, a <code>Collator</code> for the default locale will be returned.
+ * locale, the fallback procedure described in
+ * {@link java.util.spi.LocaleServiceProvider} is invoked.
*
* @param loc The desired locale to load a <code>Collator</code> for.
*
@@ -294,27 +298,52 @@ public abstract class Collator implements Comparator<Object>, Cloneable
*/
public static Collator getInstance (Locale loc)
{
- ResourceBundle res;
String pattern;
try
{
- res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation",
- loc, ClassLoader.getSystemClassLoader());
- pattern = res.getString("collation_rules");
+ ResourceBundle res =
+ ResourceBundle.getBundle("gnu.java.locale.LocaleInformation",
+ loc, ClassLoader.getSystemClassLoader());
+ return new RuleBasedCollator(res.getString("collation_rules"));
}
catch (MissingResourceException x)
{
- pattern = "<0<1<2<3<4<5<6<7<8<9<A,a<b,B<c,C<d,D<e,E<f,F<g,G<h,H<i,I<j,J<k,K" +
- "<l,L<m,M<n,N<o,O<p,P<q,Q<r,R<s,S<t,T<u,U<v,V<w,W<x,X<y,Y<z,Z";
- }
- try
- {
- return new RuleBasedCollator (pattern);
+ /* This means runtime support for the locale
+ * is not available, so we check providers. */
}
catch (ParseException x)
{
throw (InternalError)new InternalError().initCause(x);
}
+ for (CollatorProvider p : ServiceLoader.load(CollatorProvider.class))
+ {
+ for (Locale l : p.getAvailableLocales())
+ {
+ if (l.equals(loc))
+ {
+ Collator c = p.getInstance(loc);
+ if (c != null)
+ return c;
+ break;
+ }
+ }
+ }
+ if (loc.equals(Locale.ROOT))
+ {
+ try
+ {
+ return new RuleBasedCollator("<0<1<2<3<4<5<6<7<8<9<A,a<b,B<c," +
+ "C<d,D<e,E<f,F<g,G<h,H<i,I<j,J<k,K" +
+ "<l,L<m,M<n,N<o,O<p,P<q,Q<r,R<s,S<t,"+
+ "T<u,U<v,V<w,W<x,X<y,Y<z,Z");
+ }
+ catch (ParseException x)
+ {
+ throw (InternalError)new InternalError().initCause(x);
+ }
+ }
+ // FIXME
+ return getInstance(Locale.US);
}
/**
diff --git a/libjava/java/text/DateFormat.h b/libjava/java/text/DateFormat.h
index 447fef3..7f82499 100644
--- a/libjava/java/text/DateFormat.h
+++ b/libjava/java/text/DateFormat.h
@@ -39,6 +39,7 @@ public:
private:
static ::java::text::DateFormat * computeInstance(jint, ::java::util::Locale *, jboolean, jboolean);
static ::java::text::DateFormat * computeInstance(jint, jint, ::java::util::Locale *, jboolean, jboolean);
+ static ::java::text::DateFormat * computeDefault(jint, jint, jboolean, jboolean);
public:
static ::java::text::DateFormat * getDateInstance();
static ::java::text::DateFormat * getDateInstance(jint);
diff --git a/libjava/java/text/DateFormatSymbols.h b/libjava/java/text/DateFormatSymbols.h
index 1ef65b7..9836ea5 100644
--- a/libjava/java/text/DateFormatSymbols.h
+++ b/libjava/java/text/DateFormatSymbols.h
@@ -50,6 +50,8 @@ public:
virtual jboolean equals(::java::lang::Object *);
virtual ::java::lang::Object * clone();
virtual jint hashCode();
+ static ::java::text::DateFormatSymbols * getInstance();
+ static ::java::text::DateFormatSymbols * getInstance(::java::util::Locale *);
public: // actually package-private
JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ampms;
JArray< ::java::lang::String * > * eras;
@@ -61,6 +63,7 @@ public: // actually package-private
JArray< ::java::lang::String * > * shortWeekdays;
JArray< ::java::lang::String * > * weekdays;
private:
+ JArray< JArray< ::java::lang::String * > * > * runtimeZoneStrings;
JArray< JArray< ::java::lang::String * > * > * zoneStrings;
static const jlong serialVersionUID = -5987973545549424702LL;
static JArray< ::java::lang::String * > * formatPrefixes;
diff --git a/libjava/java/text/DateFormatSymbols.java b/libjava/java/text/DateFormatSymbols.java
index 27a806d..2ca513e 100644
--- a/libjava/java/text/DateFormatSymbols.java
+++ b/libjava/java/text/DateFormatSymbols.java
@@ -1,5 +1,5 @@
/* DateFormatSymbols.java -- Format over a range of numbers
- Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -38,14 +38,25 @@ exception statement from your version. */
package java.text;
+import gnu.java.locale.LocaleHelper;
+
+import java.text.spi.DateFormatSymbolsProvider;
+
+import java.util.ArrayList;
+import java.util.List;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
+import java.util.ServiceLoader;
+import java.util.TimeZone;
+
+import java.util.spi.TimeZoneNameProvider;
/**
* This class acts as container for locale specific date/time formatting
* information such as the days of the week and the months of the year.
* @author Per Bothner (bothner@cygnus.com)
+ *
* @date October 24, 1998.
*/
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
@@ -60,6 +71,15 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable
String[] shortMonths;
String[] shortWeekdays;
String[] weekdays;
+
+ /**
+ * The timezone strings supplied by the runtime.
+ */
+ private String[][] runtimeZoneStrings;
+
+ /**
+ * Custom timezone strings supplied by {@link #setZoneStrings()}.
+ */
private String[][] zoneStrings;
private static final long serialVersionUID = -5987973545549424702L;
@@ -91,11 +111,18 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable
/**
* This method initializes a new instance of <code>DateFormatSymbols</code>
* by loading the date format information for the specified locale.
+ * This constructor only obtains instances using the runtime's resources;
+ * to also include {@link java.text.spi.DateFormatSymbolsProvider} instances,
+ * call {@link #getInstance(java.util.Locale)} instead.
*
* @param locale The locale for which date formatting symbols should
* be loaded.
+ * @throws MissingResourceException if the resources for the specified
+ * locale could not be found or loaded.
+ * @see #getInstance(java.util.Locale)
*/
- public DateFormatSymbols (Locale locale) throws MissingResourceException
+ public DateFormatSymbols (Locale locale)
+ throws MissingResourceException
{
ResourceBundle res
= ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", locale,
@@ -116,9 +143,16 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable
/**
* This method loads the format symbol information for the default
- * locale.
+ * locale. This constructor only obtains instances using the runtime's resources;
+ * to also include {@link java.text.spi.DateFormatSymbolsProvider} instances,
+ * call {@link #getInstance()} instead.
+ *
+ * @throws MissingResourceException if the resources for the default
+ * locale could not be found or loaded.
+ * @see #getInstance()
*/
- public DateFormatSymbols () throws MissingResourceException
+ public DateFormatSymbols()
+ throws MissingResourceException
{
this (Locale.getDefault());
}
@@ -499,4 +533,65 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable
^ hashCode(weekdays)
^ hashCode(zoneStrings));
}
+
+ /**
+ * Returns a {@link DateFormatSymbols} instance for the
+ * default locale obtained from either the runtime itself
+ * or one of the installed
+ * {@link java.text.spi.DateFormatSymbolsProvider} instances.
+ * This is equivalent to calling
+ * <code>getInstance(Locale.getDefault())</code>.
+ *
+ * @return a {@link DateFormatSymbols} instance for the default
+ * locale.
+ * @since 1.6
+ */
+ public static final DateFormatSymbols getInstance()
+ {
+ return getInstance(Locale.getDefault());
+ }
+
+ /**
+ * Returns a {@link DateFormatSymbols} instance for the
+ * specified locale obtained from either the runtime itself
+ * or one of the installed
+ * {@link java.text.spi.DateFormatSymbolsProvider} instances.
+ *
+ * @param locale the locale for which an instance should be
+ * returned.
+ * @return a {@link DateFormatSymbols} instance for the specified
+ * locale.
+ * @throws NullPointerException if <code>locale</code> is
+ * <code>null</code>.
+ * @since 1.6
+ */
+ public static final DateFormatSymbols getInstance(Locale locale)
+ {
+ try
+ {
+ DateFormatSymbols syms = new DateFormatSymbols(locale);
+ return syms;
+ }
+ catch (MissingResourceException e)
+ {
+ /* This means runtime support for the locale
+ * is not available, so we check providers. */
+ }
+ for (DateFormatSymbolsProvider p :
+ ServiceLoader.load(DateFormatSymbolsProvider.class))
+ {
+ for (Locale loc : p.getAvailableLocales())
+ {
+ if (loc.equals(locale))
+ {
+ DateFormatSymbols syms = p.getInstance(locale);
+ if (syms != null)
+ return syms;
+ break;
+ }
+ }
+ }
+ return getInstance(LocaleHelper.getFallbackLocale(locale));
+ }
+
}
diff --git a/libjava/java/text/DecimalFormatSymbols.h b/libjava/java/text/DecimalFormatSymbols.h
index b38140c..8967572 100644
--- a/libjava/java/text/DecimalFormatSymbols.h
+++ b/libjava/java/text/DecimalFormatSymbols.h
@@ -67,6 +67,10 @@ public:
void setZeroDigit(jchar);
private:
void readObject(::java::io::ObjectInputStream *);
+public:
+ static ::java::text::DecimalFormatSymbols * getInstance();
+ static ::java::text::DecimalFormatSymbols * getInstance(::java::util::Locale *);
+private:
::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) currencySymbol;
jchar decimalSeparator;
jchar digit;
diff --git a/libjava/java/text/DecimalFormatSymbols.java b/libjava/java/text/DecimalFormatSymbols.java
index 110e45f..b72f144 100644
--- a/libjava/java/text/DecimalFormatSymbols.java
+++ b/libjava/java/text/DecimalFormatSymbols.java
@@ -38,13 +38,19 @@ exception statement from your version. */
package java.text;
+import gnu.java.locale.LocaleHelper;
+
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
+
+import java.text.spi.DecimalFormatSymbolsProvider;
+
import java.util.Currency;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
+import java.util.ServiceLoader;
/**
* This class is a container for the symbols used by
@@ -77,6 +83,11 @@ public final class DecimalFormatSymbols implements Cloneable, Serializable
/**
* This method initializes a new instance of
* <code>DecimalFormatSymbols</code> for the default locale.
+ * This constructor only obtains instances using the runtime's resources;
+ * to also include {@link java.text.spi.DateFormatSymbolsProvider} instances,
+ * call {@link #getInstance()} instead.
+ *
+ * @see #getInstance()
*/
public DecimalFormatSymbols ()
{
@@ -664,4 +675,68 @@ public final class DecimalFormatSymbols implements Cloneable, Serializable
serialVersionOnStream = 2;
}
+
+ /**
+ * Returns a {@link DecimalFormatSymbols} instance for the
+ * default locale obtained from either the runtime itself
+ * or one of the installed
+ * {@link java.text.spi.DecimalFormatSymbolsProvider} instances.
+ * This is equivalent to calling
+ * <code>getInstance(Locale.getDefault())</code>.
+ *
+ * @return a {@link DecimalFormatSymbols} instance for the default
+ * locale.
+ * @since 1.6
+ */
+ public static final DecimalFormatSymbols getInstance()
+ {
+ return getInstance(Locale.getDefault());
+ }
+
+ /**
+ * Returns a {@link DecimalFormatSymbols} instance for the
+ * specified locale obtained from either the runtime itself
+ * or one of the installed
+ * {@link java.text.spi.DecimalFormatSymbolsProvider} instances.
+ *
+ * @param locale the locale for which an instance should be
+ * returned.
+ * @return a {@link DecimalFormatSymbols} instance for the specified
+ * locale.
+ * @throws NullPointerException if <code>locale</code> is
+ * <code>null</code>.
+ * @since 1.6
+ */
+ public static final DecimalFormatSymbols getInstance(Locale locale)
+ {
+ try
+ {
+ if (!locale.equals(Locale.ROOT))
+ ResourceBundle.getBundle("gnu.java.locale.LocaleInformation",
+ locale,
+ ClassLoader.getSystemClassLoader());
+ return new DecimalFormatSymbols(locale);
+ }
+ catch (MissingResourceException x)
+ {
+ /* This means runtime support for the locale
+ * is not available, so we check providers. */
+ }
+ for (DecimalFormatSymbolsProvider p :
+ ServiceLoader.load(DecimalFormatSymbolsProvider.class))
+ {
+ for (Locale loc : p.getAvailableLocales())
+ {
+ if (loc.equals(locale))
+ {
+ DecimalFormatSymbols syms = p.getInstance(locale);
+ if (syms != null)
+ return syms;
+ break;
+ }
+ }
+ }
+ return getInstance(LocaleHelper.getFallbackLocale(locale));
+ }
+
}
diff --git a/libjava/java/text/spi/BreakIteratorProvider.h b/libjava/java/text/spi/BreakIteratorProvider.h
new file mode 100644
index 0000000..663dff22
--- /dev/null
+++ b/libjava/java/text/spi/BreakIteratorProvider.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_text_spi_BreakIteratorProvider__
+#define __java_text_spi_BreakIteratorProvider__
+
+#pragma interface
+
+#include <java/util/spi/LocaleServiceProvider.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace text
+ {
+ class BreakIterator;
+ namespace spi
+ {
+ class BreakIteratorProvider;
+ }
+ }
+ }
+}
+
+class java::text::spi::BreakIteratorProvider : public ::java::util::spi::LocaleServiceProvider
+{
+
+public: // actually protected
+ BreakIteratorProvider();
+public:
+ virtual ::java::text::BreakIterator * getCharacterInstance(::java::util::Locale *) = 0;
+ virtual ::java::text::BreakIterator * getLineInstance(::java::util::Locale *) = 0;
+ virtual ::java::text::BreakIterator * getSentenceInstance(::java::util::Locale *) = 0;
+ virtual ::java::text::BreakIterator * getWordInstance(::java::util::Locale *) = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_text_spi_BreakIteratorProvider__
diff --git a/libjava/java/text/spi/CollatorProvider.h b/libjava/java/text/spi/CollatorProvider.h
new file mode 100644
index 0000000..bf07271
--- /dev/null
+++ b/libjava/java/text/spi/CollatorProvider.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_text_spi_CollatorProvider__
+#define __java_text_spi_CollatorProvider__
+
+#pragma interface
+
+#include <java/util/spi/LocaleServiceProvider.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace text
+ {
+ class Collator;
+ namespace spi
+ {
+ class CollatorProvider;
+ }
+ }
+ }
+}
+
+class java::text::spi::CollatorProvider : public ::java::util::spi::LocaleServiceProvider
+{
+
+public: // actually protected
+ CollatorProvider();
+public:
+ virtual ::java::text::Collator * getInstance(::java::util::Locale *) = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_text_spi_CollatorProvider__
diff --git a/libjava/java/text/spi/DateFormatProvider.h b/libjava/java/text/spi/DateFormatProvider.h
new file mode 100644
index 0000000..15f6e36
--- /dev/null
+++ b/libjava/java/text/spi/DateFormatProvider.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_text_spi_DateFormatProvider__
+#define __java_text_spi_DateFormatProvider__
+
+#pragma interface
+
+#include <java/util/spi/LocaleServiceProvider.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace text
+ {
+ class DateFormat;
+ namespace spi
+ {
+ class DateFormatProvider;
+ }
+ }
+ }
+}
+
+class java::text::spi::DateFormatProvider : public ::java::util::spi::LocaleServiceProvider
+{
+
+public: // actually protected
+ DateFormatProvider();
+public:
+ virtual ::java::text::DateFormat * getDateInstance(jint, ::java::util::Locale *) = 0;
+ virtual ::java::text::DateFormat * getDateTimeInstance(jint, jint, ::java::util::Locale *) = 0;
+ virtual ::java::text::DateFormat * getTimeInstance(jint, ::java::util::Locale *) = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_text_spi_DateFormatProvider__
diff --git a/libjava/java/text/spi/DateFormatSymbolsProvider.h b/libjava/java/text/spi/DateFormatSymbolsProvider.h
new file mode 100644
index 0000000..4a70129
--- /dev/null
+++ b/libjava/java/text/spi/DateFormatSymbolsProvider.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_text_spi_DateFormatSymbolsProvider__
+#define __java_text_spi_DateFormatSymbolsProvider__
+
+#pragma interface
+
+#include <java/util/spi/LocaleServiceProvider.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace text
+ {
+ class DateFormatSymbols;
+ namespace spi
+ {
+ class DateFormatSymbolsProvider;
+ }
+ }
+ }
+}
+
+class java::text::spi::DateFormatSymbolsProvider : public ::java::util::spi::LocaleServiceProvider
+{
+
+public: // actually protected
+ DateFormatSymbolsProvider();
+public:
+ virtual ::java::text::DateFormatSymbols * getInstance(::java::util::Locale *) = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_text_spi_DateFormatSymbolsProvider__
diff --git a/libjava/java/text/spi/DecimalFormatSymbolsProvider.h b/libjava/java/text/spi/DecimalFormatSymbolsProvider.h
new file mode 100644
index 0000000..ceead02
--- /dev/null
+++ b/libjava/java/text/spi/DecimalFormatSymbolsProvider.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_text_spi_DecimalFormatSymbolsProvider__
+#define __java_text_spi_DecimalFormatSymbolsProvider__
+
+#pragma interface
+
+#include <java/util/spi/LocaleServiceProvider.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace text
+ {
+ class DecimalFormatSymbols;
+ namespace spi
+ {
+ class DecimalFormatSymbolsProvider;
+ }
+ }
+ }
+}
+
+class java::text::spi::DecimalFormatSymbolsProvider : public ::java::util::spi::LocaleServiceProvider
+{
+
+public: // actually protected
+ DecimalFormatSymbolsProvider();
+public:
+ virtual ::java::text::DecimalFormatSymbols * getInstance(::java::util::Locale *) = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_text_spi_DecimalFormatSymbolsProvider__
diff --git a/libjava/java/text/spi/NumberFormatProvider.h b/libjava/java/text/spi/NumberFormatProvider.h
new file mode 100644
index 0000000..4224aea
--- /dev/null
+++ b/libjava/java/text/spi/NumberFormatProvider.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_text_spi_NumberFormatProvider__
+#define __java_text_spi_NumberFormatProvider__
+
+#pragma interface
+
+#include <java/util/spi/LocaleServiceProvider.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace text
+ {
+ class NumberFormat;
+ namespace spi
+ {
+ class NumberFormatProvider;
+ }
+ }
+ }
+}
+
+class java::text::spi::NumberFormatProvider : public ::java::util::spi::LocaleServiceProvider
+{
+
+public: // actually protected
+ NumberFormatProvider();
+public:
+ virtual ::java::text::NumberFormat * getCurrencyInstance(::java::util::Locale *) = 0;
+ virtual ::java::text::NumberFormat * getIntegerInstance(::java::util::Locale *) = 0;
+ virtual ::java::text::NumberFormat * getNumberInstance(::java::util::Locale *) = 0;
+ virtual ::java::text::NumberFormat * getPercentInstance(::java::util::Locale *) = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_text_spi_NumberFormatProvider__