public abstract class ZoneRulesInitializer
extends java.lang.Object
The default behavior is to use ServiceLoader to find instances of ZoneRulesProvider.
Use the setInitializer(ZoneRulesInitializer) method to replace this behavior.
The initializer instance must perform the work of creating the ZoneRulesProvider within
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.
| Modifier and Type | Field | Description |
|---|---|---|
static ZoneRulesInitializer |
DO_NOTHING |
An instance that does nothing.
|
| Constructor | Description |
|---|---|
ZoneRulesInitializer() |
| Modifier and Type | Method | Description |
|---|---|---|
protected abstract void |
initializeProviders() |
Initialize the providers.
|
static void |
setInitializer(ZoneRulesInitializer initializer) |
Sets the initializer to use.
|
public static final ZoneRulesInitializer DO_NOTHING
setInitializer(ZoneRulesInitializer) with this instance to
block the service loader search. This will leave the system with no providers.public static void setInitializer(ZoneRulesInitializer initializer)
This can only be invoked before the ZoneRulesProvider class is loaded.
Invoking this method at a later point will throw an exception.
initializer - the initializer to usejava.lang.IllegalStateException - if initialization has already occurred or another initializer has been setprotected abstract void initializeProviders()
The implementation should perform whatever work is necessary to initialize the providers.
This will result in one or more calls to ZoneRulesProvider.registerProvider(ZoneRulesProvider).
It is vital that the instance of ZoneRulesProvider is not created until this method is invoked.
It is guaranteed that this method will be invoked once and only once.
Copyright © 2007–2018 ThreeTen.org. All rights reserved.