Locale Sensitive Services SPI : New Locales « JDK 6 « Java






Locale Sensitive Services SPI

 

java.text.BreakIterator
java.text.Collator
java.text.DateFormat
java.text.NumberFormat
java.text.DateFormatSymbols
java.text.DecimalFormatSymbol


import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.spi.DateFormatProvider;
import java.util.Locale;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;

public class AntarcticaLocaleDemo {
    public static void main(String [] args) {
        Date now = new Date();

        DateFormat defaultFormat = DateFormat.getDateTimeInstance();
        String defaultString = defaultFormat.format (now);
        System.out.println ("Default : " + defaultString);

        DateFormat antarcticaFormat =
                DateFormat.getDateTimeInstance (
                DateFormat.FULL, DateFormat.FULL,
                new Locale ("en", "AQ"));
        String antarcticaString = antarcticaFormat.format (now);
        System.out.println ("Antarctica: " + antarcticaString);
    }
}
class DateFormatProviderImpl extends DateFormatProvider {
    private Locale antarctica = new Locale ("en", "AQ");

    public Locale[] getAvailableLocales() {
        return new Locale [] {antarctica};
    }

    public DateFormat getTimeInstance(int style, Locale locale) {
        if (locale.equals(antarctica)) {
            return new SimpleDateFormat("HH.mm.ss");
        }
        return null;
    }

    public DateFormat getDateTimeInstance(int dateStyle, Locale locale) {
        if (locale.equals(antarctica)) {
            return new SimpleDateFormat("yyyy~MM~dd HH.mm.ss");
        }
        return null;
    }
    public DateFormat getDateTimeInstance(int dateStyle,
           int timeStyle, Locale locale) {
        if (locale.equals(antarctica)) {
            return new SimpleDateFormat("yyyy~MM~dd HH.mm.ss");
        }
        return null;
    }

    @Override
    public DateFormat getDateInstance(int style, Locale locale) {
      if (locale.equals(antarctica)) {
        return new SimpleDateFormat("yyyy~MM~dd HH.mm.ss");
      }
      return null;
    }
}

//Reference:
//Java 6 New Features: A Tutorial
//by Budi Kurniawan 
//Brainy Software Corp. 2006
//Chapter 4 - Networking
//# ISBN-10: 0975212885
//# ISBN-13: 978-0975212882

        








Related examples in the same category

1.New locales in Java 6
2.Displaying Calendar Names
3.Japanese Imperial Calendar