π« Interface for components that need access to a ConversionService
.
The ConversionServiceAware interface enables components to perform runtime type conversions between different data types, formats, and representations using the framework's unified conversion system.
Conversion Capabilities:
- Type Conversion: Convert between basic types (String, int, bool, etc.)
- Custom Converters: Register and use application-specific converters
- Format Parsing: Parse and format dates, numbers, and custom formats
- Collection Conversion: Convert between different collection types
- Null-Safe: Handle null values appropriately during conversion
Framework Integration:
- Called during component initialization when ConversionService is available
- The service may be null if no conversion service is configured
- Default conversion service provides common type conversions
Example Usage:
@Component
class ConfigurationProcessor implements ConversionServiceAware {
ConversionService? _conversionService;
@override
void setConversionService(ConversionService? conversionService) {
_conversionService = conversionService;
}
T getConfiguration<T>(String key, T defaultValue) {
final value = _environment.getProperty(key);
if (value == null) {
return defaultValue;
}
return _conversionService?.convert<T>(value) ?? defaultValue;
}
List<int> parseIdList(String idListString) {
return _conversionService?.convert<List<int>>(idListString) ?? [];
}
DateTime? parseDate(String dateString) {
return _conversionService?.convert<DateTime>(dateString);
}
}
Best Practices:
- Always provide fallback values when conversion may fail
- Handle conversion exceptions gracefully
- Use specific converter interfaces for complex conversion logic
- Consider performance implications for frequent conversions
See also:
ConversionService
for the conversion service interfaceConverter
for custom type converter implementationsGenericConverter
for generic conversion implementations
Properties
- hashCode β int
-
The hash code for this object.
no setterinherited
- runtimeType β Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) β dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
setConversionService(
ConversionService? conversionService) β void -
Sets the
ConversionService
that this component can use for type conversions. -
toString(
) β String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) β bool -
The equality operator.
inherited