object ZoneRulesProvider
- Alphabetic
- By Inheritance
- ZoneRulesProvider
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def getAvailableZoneIds: Set[String]
Gets the set of available zone IDs.
Gets the set of available zone IDs.
These zone IDs are loaded and available for use by
ZoneId
.- returns
the unmodifiable copy of the set of zone IDs, not null
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getRules(zoneId: String, forCaching: Boolean): ZoneRules
Gets the rules for the zone ID.
Gets the rules for the zone ID.
This returns the latest available rules for the zone ID.
This method relies on time-zone data provider files that are configured. These are loaded using a
ServiceLoader
.The caching flag is designed to allow provider implementations to prevent the rules being cached in
ZoneId
. Under normal circumstances, the caching of zone rules is highly desirable as it will provide greater performance. However, there is a use case where the caching would not be desirable, see#provideRules
.- zoneId
the zone ID as defined by { @code ZoneId}, not null
- forCaching
whether the rules are being queried for caching, true if the returned rules will be cached by { @code ZoneId}, false if they will be returned to the user without being cached in { @code ZoneId}
- returns
the rules, null if { @code forCaching} is true and this is a dynamic provider that wants to prevent caching in { @code ZoneId}, otherwise not null
- Exceptions thrown
ZoneRulesException
if rules cannot be obtained for the zone ID
- def getVersions(zoneId: String): NavigableMap[String, ZoneRules]
Gets the history of rules for the zone ID.
Gets the history of rules for the zone ID.
Time-zones are defined by governments and change frequently. This method allows applications to find the history of changes to the rules for a single zone ID. The map is keyed by a string, which is the version string associated with the rules.
The exact meaning and format of the version is provider specific. The version must follow lexicographical order, thus the returned map will be order from the oldest known rules to the newest available rules. The default 'TZDB' group uses version numbering consisting of the year followed by a letter, such as '2009e' or '2012f'.
Implementations must provide a result for each valid zone ID, however they do not have to provide a history of rules. Thus the map will always contain one element, and will only contain more than one element if historical rule information is available.
- zoneId
the zone region ID as used by { @code ZoneId}, not null
- returns
a modifiable copy of the history of the rules for the ID, sorted from oldest to newest, not null
- Exceptions thrown
ZoneRulesException
if history cannot be obtained for the zone ID
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def refresh: Boolean
Refreshes the rules from the underlying data provider.
Refreshes the rules from the underlying data provider.
This method is an extension point that allows providers to refresh their rules dynamically at a time of the applications choosing. After calling this method, the offset stored in any
ZonedDateTime
may be invalid for the zone ID.Dynamic behavior is entirely optional and most providers, including the default provider, do not support it.
- returns
true if the rules were updated
- Exceptions thrown
ZoneRulesException
if an error occurs during the refresh
- def registerProvider(provider: ZoneRulesProvider): Unit
Registers a zone rules provider.
Registers a zone rules provider.
This adds a new provider to those currently available. A provider supplies rules for one or more zone IDs. A provider cannot be registered if it supplies a zone ID that has already been registered. See the notes on time-zone IDs in
ZoneId
, especially the section on using the concept of a "group" to make IDs unique.To ensure the integrity of time-zones already created, there is no way to deregister providers.
- provider
the provider to register, not null
- Exceptions thrown
ZoneRulesException
if a region is already registered
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()