Trait icu_provider::datagen::DataExporter
source · pub trait DataExporter: Sync {
// Required method
fn put_payload(
&self,
key: DataKey,
locale: &DataLocale,
payload: &DataPayload<ExportMarker>
) -> Result<(), DataError>;
// Provided methods
fn flush_singleton(
&self,
key: DataKey,
payload: &DataPayload<ExportMarker>
) -> Result<(), DataError> { ... }
fn flush_with_built_in_fallback(
&self,
_key: DataKey,
_fallback_mode: BuiltInFallbackMode
) -> Result<(), DataError> { ... }
fn flush(&self, _key: DataKey) -> Result<(), DataError> { ... }
fn close(&mut self) -> Result<(), DataError> { ... }
fn supports_built_in_fallback(&self) -> bool { ... }
}
Expand description
An object capable of exporting data payloads in some form.
Required Methods§
sourcefn put_payload(
&self,
key: DataKey,
locale: &DataLocale,
payload: &DataPayload<ExportMarker>
) -> Result<(), DataError>
fn put_payload( &self, key: DataKey, locale: &DataLocale, payload: &DataPayload<ExportMarker> ) -> Result<(), DataError>
Save a payload
corresponding to the given key and locale.
Takes non-mut self as it can be called concurrently.
Provided Methods§
sourcefn flush_singleton(
&self,
key: DataKey,
payload: &DataPayload<ExportMarker>
) -> Result<(), DataError>
fn flush_singleton( &self, key: DataKey, payload: &DataPayload<ExportMarker> ) -> Result<(), DataError>
Function called for singleton keys. Takes non-mut self as it can be called concurrently.
sourcefn flush_with_built_in_fallback(
&self,
_key: DataKey,
_fallback_mode: BuiltInFallbackMode
) -> Result<(), DataError>
fn flush_with_built_in_fallback( &self, _key: DataKey, _fallback_mode: BuiltInFallbackMode ) -> Result<(), DataError>
Function called after a non-singleton key has been fully enumerated, flushing that key with built-in fallback.
Takes non-mut self as it can be called concurrently.
sourcefn flush(&self, _key: DataKey) -> Result<(), DataError>
fn flush(&self, _key: DataKey) -> Result<(), DataError>
Function called after a non-singleton key has been fully enumerated. Does not include built-in fallback.
Takes non-mut self as it can be called concurrently.
sourcefn close(&mut self) -> Result<(), DataError>
fn close(&mut self) -> Result<(), DataError>
This function has to be called before the object is dropped (after all keys have been fully dumped). This conceptually takes ownership, so clients may not interact with this object after close has been called.
sourcefn supports_built_in_fallback(&self) -> bool
fn supports_built_in_fallback(&self) -> bool
Returns whether the provider supports built-in fallback. If true
, the provider must
implement Self::flush_with_built_in_fallback()
.
Trait Implementations§
source§impl DataExporter for Box<dyn DataExporter>
impl DataExporter for Box<dyn DataExporter>
source§fn put_payload(
&self,
key: DataKey,
locale: &DataLocale,
payload: &DataPayload<ExportMarker>
) -> Result<(), DataError>
fn put_payload( &self, key: DataKey, locale: &DataLocale, payload: &DataPayload<ExportMarker> ) -> Result<(), DataError>
payload
corresponding to the given key and locale.
Takes non-mut self as it can be called concurrently.source§fn flush_singleton(
&self,
key: DataKey,
payload: &DataPayload<ExportMarker>
) -> Result<(), DataError>
fn flush_singleton( &self, key: DataKey, payload: &DataPayload<ExportMarker> ) -> Result<(), DataError>
source§fn flush_with_built_in_fallback(
&self,
key: DataKey,
fallback_mode: BuiltInFallbackMode
) -> Result<(), DataError>
fn flush_with_built_in_fallback( &self, key: DataKey, fallback_mode: BuiltInFallbackMode ) -> Result<(), DataError>
source§fn flush(&self, key: DataKey) -> Result<(), DataError>
fn flush(&self, key: DataKey) -> Result<(), DataError>
source§fn close(&mut self) -> Result<(), DataError>
fn close(&mut self) -> Result<(), DataError>
source§fn supports_built_in_fallback(&self) -> bool
fn supports_built_in_fallback(&self) -> bool
true
, the provider must
implement Self::flush_with_built_in_fallback()
.