AdaptableMap class final
A specialized map collection that can adapt itself or another source into a strongly-typed Map of keys and values.
The AdaptableMap extends HashMap<Object, Object> and provides a generic adapt method to convert:
- JetLeaf-specific HashMap
- Dart collection.HashMap
- Native Dart Map
into a
Map<K, V>.
Purpose
This class is intended to:
- Facilitate type-safe conversion for heterogeneous or dynamic maps.
- Allow seamless adaptation between JetLeaf and standard Dart map types.
- Support framework-level or service-level map transformation.
Features
- Generic adaptation: Converts keys and values to types
KandV. - Multiple source types: Supports HashMap, collection.HashMap, and Map.
- Exception safety: Throws IllegalArgumentException if adaptation is not possible.
Lifecycle and Usage
final adaptable = AdaptableMap();
adaptable['key'] = 42;
final typedMap = adaptable.adapt<String, int>(); // Map<String, int>
final source = collection.HashMap<dynamic, dynamic>();
source['name'] = 'JetLeaf';
final map = adaptable.adapt<String, String>(source); // Map<String, String>
Extensibility
- Subclass AdaptableMap to implement custom key/value conversion rules.
- Can integrate with conversion services or framework-specific registries.
Error Handling
- Throws IllegalArgumentException for unsupported sources.
See Also
Constructors
- AdaptableMap()
- A specialized map collection that can adapt itself or another source into a strongly-typed Map of keys and values.
-
AdaptableMap.create(Map<
Object, Object> entries) -
A specialized map collection that can adapt itself or another source
into a strongly-typed Map of keys and values.
factory
Properties
-
entries
→ Iterable<
MapEntry< Object, Object> > -
The map entries of this Map.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isEmpty → bool
-
Whether there is no key/value pair in the map.
no setterinherited
- isNotEmpty → bool
-
Whether there is at least one key/value pair in the map.
no setterinherited
-
keys
→ Iterable<
Object> -
The keys of this Map.
no setterinherited
- length → int
-
The number of key/value pairs in the map.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
values
→ Iterable<
Object> -
The values of this Map.
no setterinherited
Methods
-
adapt<
K, V> ([Object? source]) → Map< K, V> -
Converts the given
sourceorthisinto a strongly-typed Map<K, V>. -
addAll(
Map< Object, Object> other) → void -
Adds all key/value pairs of
otherto this map.inherited -
addEntries(
Iterable< MapEntry< newEntries) → voidObject, Object> > -
Adds all key/value pairs of
newEntriesto this map.inherited -
cast<
RK, RV> () → Map< RK, RV> -
Provides a view of this map as having
RKkeys andRVinstances, if necessary.inherited -
clear(
) → void -
Removes all entries from the map.
inherited
-
containsKey(
Object? key) → bool -
Whether this map contains the given
key.inherited -
containsValue(
Object? value) → bool -
Whether this map contains the given
value.inherited -
forEach(
void action(Object key, Object value)) → void -
Applies
actionto each key/value pair of the map.inherited -
map<
K2, V2> (MapEntry< K2, V2> convert(Object key, Object value)) → Map<K2, V2> -
Returns a new map where all entries of this map are transformed by
the given
convertfunction.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
putIfAbsent(
Object key, Object ifAbsent()) → Object -
Look up the value of
key, or add a new entry if it isn't there.inherited -
remove(
Object? key) → Object? -
Removes
keyand its associated value, if present, from the map.inherited -
removeWhere(
bool test(Object key, Object value)) → void -
Removes all entries of this map that satisfy the given
test.inherited -
toString(
) → String -
A string representation of this object.
inherited
-
update(
Object key, Object update(Object value), {Object ifAbsent()?}) → Object -
Updates the value for the provided
key.inherited -
updateAll(
Object update(Object key, Object value)) → void -
Updates all values.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator [](
Object? key) → Object? -
The value for the given
key, ornullifkeyis not in the map.inherited -
operator []=(
Object key, Object value) → void -
Associates the
keywith the givenvalue.inherited
Static Properties
-
CLASS
→ Class<
AdaptableSet> -
Represents the metadata class for
AdaptableSet.final