Package org.joda.time.tz
Class ZoneInfoCompiler
- java.lang.Object
-
- org.joda.time.tz.ZoneInfoCompiler
-
public class ZoneInfoCompiler extends java.lang.ObjectCompiles IANA ZoneInfo database files into binary files for each time zone in the database.DateTimeZoneBuilderis used to construct and encode compiled data files.ZoneInfoProviderloads the encoded files and converts them back intoDateTimeZoneobjects.Although this tool is similar to zic, the binary formats are not compatible. The latest IANA time zone database files may be obtained here.
ZoneInfoCompiler is mutable and not thread-safe, although the main method may be safely invoked by multiple threads.
- Since:
- 1.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classZoneInfoCompiler.DateTimeOfYearprivate static classZoneInfoCompiler.Ruleprivate static classZoneInfoCompiler.RuleSetprivate static classZoneInfoCompiler.Zone
-
Field Summary
Fields Modifier and Type Field Description (package private) static ChronologycLenientISO(package private) static ZoneInfoCompiler.DateTimeOfYearcStartOfYearprivate java.util.List<java.lang.String>iBackLinksprivate java.util.List<java.lang.String>iGoodLinksprivate java.util.Map<java.lang.String,ZoneInfoCompiler.RuleSet>iRuleSetsprivate java.util.List<ZoneInfoCompiler.Zone>iZones
-
Constructor Summary
Constructors Constructor Description ZoneInfoCompiler()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<java.lang.String,DateTimeZone>compile(java.io.File outputDir, java.io.File[] sources)Returns a map of ids to DateTimeZones.(package private) static ChronologygetLenientISOChronology()(package private) static ZoneInfoCompiler.DateTimeOfYeargetStartOfYear()static voidmain(java.lang.String[] args)Launches the ZoneInfoCompiler tool.voidparseDataFile(java.io.BufferedReader in, boolean backward)(package private) static intparseDayOfWeek(java.lang.String str)(package private) static intparseMonth(java.lang.String str)(package private) static java.lang.StringparseOptional(java.lang.String str)(package private) static intparseTime(java.lang.String str)(package private) static intparseYear(java.lang.String str, int def)(package private) static charparseZoneChar(char c)private static voidprintUsage()(package private) static booleantest(java.lang.String id, DateTimeZone tz)private voidwriteZone(java.io.File outputDir, DateTimeZoneBuilder builder, DateTimeZone tz)(package private) static voidwriteZoneInfoMap(java.io.DataOutputStream dout, java.util.Map<java.lang.String,DateTimeZone> zimap)
-
-
-
Field Detail
-
cStartOfYear
static ZoneInfoCompiler.DateTimeOfYear cStartOfYear
-
cLenientISO
static Chronology cLenientISO
-
iRuleSets
private java.util.Map<java.lang.String,ZoneInfoCompiler.RuleSet> iRuleSets
-
iZones
private java.util.List<ZoneInfoCompiler.Zone> iZones
-
iGoodLinks
private java.util.List<java.lang.String> iGoodLinks
-
iBackLinks
private java.util.List<java.lang.String> iBackLinks
-
-
Method Detail
-
main
public static void main(java.lang.String[] args) throws java.lang.ExceptionLaunches the ZoneInfoCompiler tool.Usage: java org.joda.time.tz.ZoneInfoCompiler <options> <source files> where possible options include: -src <directory> Specify where to read source files -dst <directory> Specify where to write generated files -verbose Output verbosely (default false)
- Throws:
java.lang.Exception
-
printUsage
private static void printUsage()
-
getStartOfYear
static ZoneInfoCompiler.DateTimeOfYear getStartOfYear()
-
getLenientISOChronology
static Chronology getLenientISOChronology()
-
writeZoneInfoMap
static void writeZoneInfoMap(java.io.DataOutputStream dout, java.util.Map<java.lang.String,DateTimeZone> zimap) throws java.io.IOException- Parameters:
zimap- maps string ids to DateTimeZone objects.- Throws:
java.io.IOException
-
parseYear
static int parseYear(java.lang.String str, int def)
-
parseMonth
static int parseMonth(java.lang.String str)
-
parseDayOfWeek
static int parseDayOfWeek(java.lang.String str)
-
parseOptional
static java.lang.String parseOptional(java.lang.String str)
-
parseTime
static int parseTime(java.lang.String str)
-
parseZoneChar
static char parseZoneChar(char c)
-
test
static boolean test(java.lang.String id, DateTimeZone tz)- Returns:
- false if error.
-
compile
public java.util.Map<java.lang.String,DateTimeZone> compile(java.io.File outputDir, java.io.File[] sources) throws java.io.IOException
Returns a map of ids to DateTimeZones.- Parameters:
outputDir- optional directory to write compiled data files tosources- optional list of source files to parse- Throws:
java.io.IOException
-
writeZone
private void writeZone(java.io.File outputDir, DateTimeZoneBuilder builder, DateTimeZone tz) throws java.io.IOException- Throws:
java.io.IOException
-
parseDataFile
public void parseDataFile(java.io.BufferedReader in, boolean backward) throws java.io.IOException- Throws:
java.io.IOException
-
-