public abstract class ZoneRulesInitializer extends java.lang.ObjectControls how the time-zone rules are initialized.
The default behavior is to use
ServiceLoaderto find instances of
ZoneRulesProvider. Use the
setInitializer(ZoneRulesInitializer)method to replace this behavior. The initializer instance must perform the work of creating the
initializeProviders()method to ensure that the provider is not initialized too early.
The initializer must be set before class loading of any other ThreeTen-Backport class to have any effect!
This class has been added primarily for the benefit of Android.
Constructors Constructor Description
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description
protected abstract void
initializeProviders()Initialize the providers.
setInitializer(ZoneRulesInitializer initializer)Sets the initializer to use.
public static void setInitializer(ZoneRulesInitializer initializer)Sets the initializer to use.
This can only be invoked before the
ZoneRulesProviderclass is loaded. Invoking this method at a later point will throw an exception.
initializer- the initializer to use
java.lang.IllegalStateException- if initialization has already occurred or another initializer has been set
protected abstract void initializeProviders()Initialize the providers.
The implementation should perform whatever work is necessary to initialize the providers. This will result in one or more calls to
It is vital that the instance of
ZoneRulesProvideris not created until this method is invoked.
It is guaranteed that this method will be invoked once and only once.