Mega Code Archive

 
Categories / Java / JDK
 

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