public class ZoneInfoCompiler
extends java.lang.Object
DateTimeZoneBuilder
is used to construct and encode
compiled data files. ZoneInfoProvider
loads the encoded files and
converts them back into DateTimeZone
objects.
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.
Modifier and Type | Class and Description |
---|---|
(package private) static class |
ZoneInfoCompiler.DateTimeOfYear |
private static class |
ZoneInfoCompiler.Rule |
private static class |
ZoneInfoCompiler.RuleSet |
private static class |
ZoneInfoCompiler.Zone |
Modifier and Type | Field and Description |
---|---|
(package private) static Chronology |
cLenientISO |
(package private) static ZoneInfoCompiler.DateTimeOfYear |
cStartOfYear |
private java.util.List<java.lang.String> |
iBackLinks |
private java.util.List<java.lang.String> |
iGoodLinks |
private java.util.Map<java.lang.String,ZoneInfoCompiler.RuleSet> |
iRuleSets |
private java.util.List<ZoneInfoCompiler.Zone> |
iZones |
Constructor and Description |
---|
ZoneInfoCompiler() |
Modifier and Type | Method and 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 Chronology |
getLenientISOChronology() |
(package private) static ZoneInfoCompiler.DateTimeOfYear |
getStartOfYear() |
static void |
main(java.lang.String[] args)
Launches the ZoneInfoCompiler tool.
|
void |
parseDataFile(java.io.BufferedReader in,
boolean backward) |
(package private) static int |
parseDayOfWeek(java.lang.String str) |
(package private) static int |
parseMonth(java.lang.String str) |
(package private) static java.lang.String |
parseOptional(java.lang.String str) |
(package private) static int |
parseTime(java.lang.String str) |
(package private) static int |
parseYear(java.lang.String str,
int def) |
(package private) static char |
parseZoneChar(char c) |
private static void |
printUsage() |
(package private) static boolean |
test(java.lang.String id,
DateTimeZone tz) |
private void |
writeZone(java.io.File outputDir,
DateTimeZoneBuilder builder,
DateTimeZone tz) |
(package private) static void |
writeZoneInfoMap(java.io.DataOutputStream dout,
java.util.Map<java.lang.String,DateTimeZone> zimap) |
static ZoneInfoCompiler.DateTimeOfYear cStartOfYear
static Chronology cLenientISO
private java.util.Map<java.lang.String,ZoneInfoCompiler.RuleSet> iRuleSets
private java.util.List<ZoneInfoCompiler.Zone> iZones
private java.util.List<java.lang.String> iGoodLinks
private java.util.List<java.lang.String> iBackLinks
public static void main(java.lang.String[] args) throws java.lang.Exception
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)
java.lang.Exception
private static void printUsage()
static ZoneInfoCompiler.DateTimeOfYear getStartOfYear()
static Chronology getLenientISOChronology()
static void writeZoneInfoMap(java.io.DataOutputStream dout, java.util.Map<java.lang.String,DateTimeZone> zimap) throws java.io.IOException
zimap
- maps string ids to DateTimeZone objects.java.io.IOException
static int parseYear(java.lang.String str, int def)
static int parseMonth(java.lang.String str)
static int parseDayOfWeek(java.lang.String str)
static java.lang.String parseOptional(java.lang.String str)
static int parseTime(java.lang.String str)
static char parseZoneChar(char c)
static boolean test(java.lang.String id, DateTimeZone tz)
public java.util.Map<java.lang.String,DateTimeZone> compile(java.io.File outputDir, java.io.File[] sources) throws java.io.IOException
outputDir
- optional directory to write compiled data files tosources
- optional list of source files to parsejava.io.IOException
private void writeZone(java.io.File outputDir, DateTimeZoneBuilder builder, DateTimeZone tz) throws java.io.IOException
java.io.IOException
public void parseDataFile(java.io.BufferedReader in, boolean backward) throws java.io.IOException
java.io.IOException