Loading...
Searching...
No Matches
icu::message2::MFFunctionRegistry::Builder Class Reference

The mutable Builder class allows each formatter and selector factory to be initialized separately; calling its build() method yields an immutable MFFunctionRegistry object. More...

`#include <messageformat2_function_registry.h>`

Inheritance diagram for icu::message2::MFFunctionRegistry::Builder:

## Public Member Functions

Builder & | adoptFormatter (const data_model::FunctionName &formatterName, FormatterFactory *formatterFactory, UErrorCode &errorCode)
| Registers a formatter factory to a given formatter name.
Builder & | setDefaultFormatterNameByType (const UnicodeString &type, const data_model::FunctionName &functionName, UErrorCode &errorCode)
| Registers a formatter factory to a given type tag.
Builder & | adoptSelector (const data_model::FunctionName &selectorName, SelectorFactory *selectorFactory, UErrorCode &errorCode)
| Registers a selector factory to a given selector name.
MFFunctionRegistry | build ()
| Creates an immutable MFFunctionRegistry object with the selectors and formatters that were previously registered.
| Builder (UErrorCode &errorCode)
| Default constructor.
virtual | ~Builder ()
| Destructor.
Public Member Functions inherited from icu::UObject
virtual | ~UObject ()
| Destructor.
virtual UClassID | getDynamicClassID () const
| ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.

## Detailed Description

The mutable Builder class allows each formatter and selector factory to be initialized separately; calling its build() method yields an immutable MFFunctionRegistry object.

Builder is not copyable or movable.

Internal
  Do not use. This API is for internal use only. ICU 75 technology preview

Deprecated
  This API is for technology preview only.

Definition at line 176 of file messageformat2_function_registry.h.

## Constructor & Destructor Documentation

## Builder()

icu::message2::MFFunctionRegistry::Builder::Builder | ( | UErrorCode & | errorCode | ) |

Default constructor.

Returns a Builder with no functions registered.

Parameters

  errorCode | Input/output error code

Internal
  Do not use. This API is for internal use only. ICU 75 technology preview

Deprecated
  This API is for technology preview only.

## ~Builder()

virtual icu::message2::MFFunctionRegistry::Builder::~Builder | ( |  | ) |

virtual

Destructor.

Internal
  Do not use. This API is for internal use only. ICU 75 technology preview

Deprecated
  This API is for technology preview only.

## Member Function Documentation

## adoptFormatter()

Builder & icu::message2::MFFunctionRegistry::Builder::adoptFormatter | ( | const data_model::FunctionName & | formatterName,
|  | FormatterFactory * | formatterFactory,
|  | UErrorCode & | errorCode )

Registers a formatter factory to a given formatter name.

Parameters

  formatterName | Name of the formatter being registered.
  formatterFactory | A pointer to a FormatterFactory object to use for creating formatterName formatters. This argument is adopted.
  errorCode | Input/output error code

Returns
  A reference to the builder.

Internal
  Do not use. This API is for internal use only. ICU 75 technology preview

Deprecated
  This API is for technology preview only.

## adoptSelector()

Builder & icu::message2::MFFunctionRegistry::Builder::adoptSelector | ( | const data_model::FunctionName & | selectorName,
|  | SelectorFactory * | selectorFactory,
|  | UErrorCode & | errorCode )

Registers a selector factory to a given selector name.

Adopts selectorFactory.

Parameters

  selectorName | Name of the selector being registered.
  selectorFactory | A SelectorFactory object to use for creating selectorName selectors.
  errorCode | Input/output error code

Returns
  A reference to the builder.

Internal
  Do not use. This API is for internal use only. ICU 75 technology preview

Deprecated
  This API is for technology preview only.

## build()

MFFunctionRegistry icu::message2::MFFunctionRegistry::Builder::build | ( |  | ) |

Creates an immutable MFFunctionRegistry object with the selectors and formatters that were previously registered.

The builder cannot be used after this call. The build() method is destructive to avoid the need for a deep copy of the FormatterFactory and SelectorFactory objects (this would be necessary because FormatterFactory can have mutable state), which in turn would require implementors of those interfaces to implement a clone() method.

Returns
  The new MFFunctionRegistry

Internal
  Do not use. This API is for internal use only. ICU 75 technology preview

Deprecated
  This API is for technology preview only.

References icu::message2::MFFunctionRegistry::MFFunctionRegistry().

## setDefaultFormatterNameByType()

Builder & icu::message2::MFFunctionRegistry::Builder::setDefaultFormatterNameByType | ( | const UnicodeString & | type,
|  | const data_model::FunctionName & | functionName,
|  | UErrorCode & | errorCode )

Registers a formatter factory to a given type tag.

(See FormattableObject for details on type tags.)

Parameters

  type | Tag for objects to be formatted with this formatter.
  functionName | A reference to the name of the function to use for creating formatters for formatterType objects.
  errorCode | Input/output error code

Returns
  A reference to the builder.

Internal
  Do not use. This API is for internal use only. ICU 75 technology preview

Deprecated
  This API is for technology preview only.

The documentation for this class was generated from the following file:

- i18n/unicode/messageformat2_function_registry.h