Lines Matching refs:provider

90  * directories. Installed providers are loaded using the service-provider loading
92 * identifies itself with a provider configuration file named
95 * fully qualified concrete zonerules-provider class name.
99 * The Java virtual machine has a default provider that provides zone rules
103 * class to be loaded as the default provider, using the system class loader.
104 * If this system property is not defined, a system-default provider will be
105 * loaded to serve as the default provider.
111 * Each provider will provide the latest rules for each zone ID, but they
115 * This interface is a service provider that can be called by multiple threads.
125 * Providers may choose to handle dynamic updates, however the default provider does not.
136 * The lookup from zone ID to provider.
141 // Android-changed: use a single hard-coded provider.
142 ZoneRulesProvider provider = new IcuZoneRulesProvider();
143 registerProvider(provider);
163 * This method relies on time-zone data provider files that are configured.
166 * The caching flag is designed to allow provider implementations to
177 * is a dynamic provider that wants to prevent caching in {@code ZoneId},
194 * The exact meaning and format of the version is provider specific.
216 * Gets the provider for the zone ID.
219 * @return the provider, not null
223 ZoneRulesProvider provider = ZONES.get(zoneId);
224 if (provider == null) {
230 return provider;
235 * Registers a zone rules provider.
237 * This adds a new provider to those currently available.
238 * A provider supplies rules for one or more zone IDs.
239 * A provider cannot be registered if it supplies a zone ID that has already been
246 * @param provider the provider to register, not null
249 public static void registerProvider(ZoneRulesProvider provider) {
250 Objects.requireNonNull(provider, "provider");
251 registerProvider0(provider);
252 PROVIDERS.add(provider);
256 * Registers the provider.
258 * @param provider the provider to register, not null
261 private static void registerProvider0(ZoneRulesProvider provider) {
262 for (String zoneId : provider.provideZoneIds()) {
264 ZoneRulesProvider old = ZONES.putIfAbsent(zoneId, provider);
268 ", currently loading from provider: " + provider);
274 * Refreshes the rules from the underlying data provider.
283 * To achieve dynamic rules, a provider implementation will have to be written
287 * {@link #provideRules(String, boolean)} allows provider implementations
291 * provider. Note also that no dynamic rules provider is in this specification.
298 for (ZoneRulesProvider provider : PROVIDERS) {
299 changed |= provider.provideRefresh();
315 * A provider should provide data for at least one zone ID.
318 * A dynamic provider may increase the set of IDs as more data becomes available.
329 * The provider implementation must validate that the zone ID is valid and
333 * If the provider implementation is not dynamic, then the result of the
336 * If the provider implementation is dynamic, then the flag gives the option
338 * When the flag is true, the provider is permitted to return null, where
340 * When the flag is false, the provider must return non-null rules.
347 * is a dynamic provider that wants to prevent caching in {@code ZoneId},
357 * The exact meaning and format of the version is provider specific.
369 * A dynamic provider may increase the set of versions as more data becomes available.
379 * SPI method to refresh the rules from the underlying data provider.
381 * This method provides the opportunity for a provider to dynamically
382 * recheck the underlying data provider to find the latest rules.