# Currency class abstract

Abstract base class for currency operations following ISO 4217 standards.

This class provides a common interface for all currency types and includes static methods to manage and retrieve currency instances according to ISO 4217 codes or locale information.

Use this class to:

- Retrieve currency instances by code or locale.
- Access currency metadata such as symbol, numeric code, or display name.
- Work with all available currencies in a consistent manner.

Example usage:

    // Get a currency by ISO code
    final usd = Currency.getInstance('USD');

    // Get a currency by locale
    final eur = Currency.getInstanceFromLocale(Locale('de', 'DE'));

    // List all available currencies
    final allCurrencies = Currency.getAllCurrencies();

    // Access currency properties
    print(usd.symbol); // $
    print(eur.displayName); // Euro

## Constructors

Currency.new()

## Properties

currencyCode → String
  The ISO 4217 currency code (e.g., "USD", "EUR", "GBP").
  no setter
defaultFractionDigits → int
  The default number of fraction digits for this currency.
  no setter
displayName → String
  The display name of this currency in English.
  no setter
hashCode → int
  Returns a hash code based on the currency code.
  no setter override
numericCode → int
  The numeric code for this currency as defined by ISO 4217.
  no setter
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
symbol → String
  The currency symbol (e.g., "$", "€", "£").
  no setter

## Methods

compareTo(Currency other) → int
  Compares this currency to another by currency code.
copyWith({String? currencyCode, String? symbol, int? defaultFractionDigits, int? numericCode, String? displayName}) → Currency
  Creates a copy of this currency with optional overrides.
getDisplayName([Locale? locale]) → String
  Returns the display name, optionally localized by `locale`.
getSymbol([Locale? locale]) → String
  Returns the currency symbol, optionally localized by `locale`.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toDetailedString() → String
  Returns a detailed string representation including all currency properties.
toString() → String
  Returns the currency code as the string representation.
  override

## Operators

operator ==(Object other) → bool
  Compares this currency to another for equality based on currency code.
  override

## Static Methods

getAllCurrencies() → List<Currency>
  Returns a list of all available Currency instances.
getAvailableCurrencies() → Set<String>
  Returns a set of all available ISO 4217 currency codes.
getInstance(String currencyCode) → Currency
  Abstract base class for currency operations following ISO 4217 standards.
getInstanceFromLocale(Locale locale) → Currency
  Abstract base class for currency operations following ISO 4217 standards.
isSupported(String currencyCode) → bool
  Returns true if the given currency code is supported.