Skip to content

Latest commit

 

History

History
85 lines (49 loc) · 4.37 KB

File metadata and controls

85 lines (49 loc) · 4.37 KB
graph LR
    DateFormatter["DateFormatter"]
    NumberFormatter["NumberFormatter"]
    UnitFormatter["UnitFormatter"]
    LocaleDataProvider["LocaleDataProvider"]
    PatternParser["PatternParser"]
    PatternApplier["PatternApplier"]
    DateFormatter -- "depends on" --> LocaleDataProvider
    DateFormatter -- "uses" --> PatternParser
    DateFormatter -- "uses" --> PatternApplier
    NumberFormatter -- "depends on" --> LocaleDataProvider
    NumberFormatter -- "uses" --> PatternParser
    NumberFormatter -- "uses" --> PatternApplier
    UnitFormatter -- "depends on" --> LocaleDataProvider
    LocaleDataProvider -- "provides data to" --> DateFormatter
    LocaleDataProvider -- "provides data to" --> NumberFormatter
    LocaleDataProvider -- "provides data to" --> UnitFormatter
Loading

CodeBoardingDemoContact

Details

The Locale Formatting subsystem is responsible for providing functionality for formatting and parsing locale-specific data types such as dates, times, numbers, currencies, percentages, and units. It heavily leverages the Locale Data & Core API for locale-specific information.

DateFormatter

Orchestrates the formatting and parsing of date, time, and timedelta values based on locale-specific rules and patterns. It acts as the primary interface for date and time localization.

Related Classes/Methods:

NumberFormatter

Manages the formatting and parsing of numerical values, including decimals, currencies, and percentages, adhering to locale conventions. It provides the core functionality for numerical localization.

Related Classes/Methods:

UnitFormatter

Provides functionality for formatting single and compound units of measurement according to locale display names and patterns. This component ensures units are presented correctly based on the target locale.

Related Classes/Methods:

LocaleDataProvider

Serves as the central repository and access layer for all locale-specific data (e.g., date/time formats, number/currency symbols, unit display names) required by the formatting components. This component embodies the Data-Driven (Locale Data) pattern, abstracting data access from formatting logic.

Related Classes/Methods:

PatternParser

Interprets CLDR (Common Locale Data Repository) formatting patterns into an internal, actionable representation. This is an internal helper component crucial for translating human-readable patterns into machine-processable instructions.

Related Classes/Methods:

PatternApplier

Applies the internally parsed formatting patterns to raw data values to produce formatted strings. This is an internal helper component that executes the formatting logic based on the parsed patterns.

Related Classes/Methods: