DuitDataSource extension type

A wrapper for JSON data that provides type-safe access to Dart/Flutter properties.

This extension type wraps a Map<String, dynamic> and provides methods to safely parse and convert JSON values into Dart/Flutter types. It implements Map<String, dynamic> to maintain compatibility with JSON operations.

The extension type provides methods for:

  • Parsing basic types (int, double, string, bool)
  • Converting colors from hex strings or RGB arrays
  • Parsing Dart/Flutter-specific types (Size, EdgeInsets, Alignment, etc.)
  • Handling enums through string or integer lookups
  • Managing widget states and properties

Example usage:

final data = DuitDataSource({
  'color': '#FF0000',
  'size': {'width': 100, 'height': 100},
  'padding': [10, 20, 10, 20],
});

final color = data.parseColor(); // Returns Color(0xFFFF0000)
final size = data.size('size'); // Returns Size(100, 100)
final padding = data.edgeInsets(); // Returns EdgeInsets(10, 20, 10, 20)
on
Implemented types

Constructors

DuitDataSource(Map<String, dynamic> _json)

Properties

affectedProperties Iterable<String>?
no setter
entries Iterable<MapEntry<String, dynamic>>
The map entries of this Map.
no setterinherited
executionType int
no setter
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<String>
The keys of this Map.
no setterinherited
length int
The number of key/value pairs in the map.
no setterinherited
meta → HttpActionMetainfo?
no setter
parentBuilderId String?
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
script → ScriptDefinition
no setter
values Iterable
The values of this Map.
no setterinherited

Methods

addAll(Map<String, dynamic> other) → void
Adds all key/value pairs of other to this map.
inherited
addEntries(Iterable<MapEntry<String, dynamic>> newEntries) → void
Adds all key/value pairs of newEntries to this map.
inherited
alignment({String key = FlutterPropertyKeys.alignment, Alignment? defaultValue, Object? target, bool warmUp = false}) Alignment?
Retrieves an Alignment value from the JSON map for the given key.
alignmentDirectional({String key = FlutterPropertyKeys.alignmentDirectional, AlignmentDirectional? defaultValue, Object? target, bool warmUp = false}) AlignmentDirectional?
Retrieves an AlignmentDirectional value from the JSON map for the given key.
animationInterval({String key = FlutterPropertyKeys.interval, AnimationInterval defaultValue = const AnimationInterval(0.0, 1.0), Object? target, bool warmUp = false}) → AnimationInterval
Retrieves an AnimationInterval value from the JSON map for the given key.
animationMethod({String key = FlutterPropertyKeys.method, AnimationMethod defaultValue = AnimationMethod.forward, Object? target, bool warmUp = false}) → AnimationMethod
Retrieves an AnimationMethod value from the JSON map for the given key.
animationTrigger({String key = FlutterPropertyKeys.trigger, AnimationTrigger defaultValue = AnimationTrigger.onEnter, Object? target, bool warmUp = false}) → AnimationTrigger
Retrieves an AnimationTrigger value from the JSON map for the given key.
axis({String key = FlutterPropertyKeys.scrollDirection, Axis defaultValue = Axis.vertical, Object? target, bool warmUp = false}) Axis
Retrieves an Axis value from the JSON map for the given key.
blendMode({String key = FlutterPropertyKeys.blendMode, BlendMode defaultValue = BlendMode.srcOver, Object? target, bool warmUp = false}) BlendMode
Retrieves a BlendMode value from the JSON map for the given key.
border({String key = FlutterPropertyKeys.border, Border? defaultValue, Object? target, bool warmUp = false}) Border?
Retrieves a Border value from the JSON map for the given key.
borderRadius({String key = FlutterPropertyKeys.borderRadius, BorderRadius defaultValue = BorderRadius.zero, Object? target, bool warmUp = false}) BorderRadius
Retrieves a BorderRadius value from the JSON map for the given key.
borderSide({String key = FlutterPropertyKeys.side, BorderSide defaultValue = BorderSide.none, Object? target, bool warmUp = false}) BorderSide
Retrieves a BorderSide value from the JSON map for the given key.
borderStyle({String key = FlutterPropertyKeys.style, BorderStyle? defaultValue, Object? target, bool warmUp = false}) BorderStyle?
Retrieves a BorderStyle value from the JSON map for the given key.
boxConstraints({String key = FlutterPropertyKeys.constraints, BoxConstraints? defaultValue, Object? target, bool warmUp = false}) BoxConstraints?
Retrieves a BoxConstraints value from the JSON map for the given key.
boxFit({String key = FlutterPropertyKeys.fit, BoxFit? defaultValue, Object? target, bool warmUp = false}) BoxFit?
Retrieves a BoxFit value from the JSON map for the given key.
boxShadow({String key = FlutterPropertyKeys.boxShadow, List<BoxShadow>? defaultValue, Object? target, bool warmUp = false}) List<BoxShadow>?
Retrieves a list of BoxShadow values from the JSON map for the given key.
boxShape({String key = FlutterPropertyKeys.boxShape, BoxShape? defaultValue, Object? target, bool warmUp = false}) BoxShape?
Retrieves a BoxShape value from the JSON map for the given key.
buttonStyle({String key = "style", ButtonStyle? defaultValue}) ButtonStyle?
Retrieves a ButtonStyle value from the JSON map for the given key.
cast<RK, RV>() Map<RK, RV>
Provides a view of this map as having RK keys and RV instances, if necessary.
inherited
childObjects({String key = "childObjects"}) List<Map<String, dynamic>>
Returns a list of child objects from the JSON structure by the given key.
clear() → void
Removes all entries from the map.
inherited
clipBehavior({String key = FlutterPropertyKeys.clipBehavior, Clip defaultValue = Clip.hardEdge, Object? target, bool warmUp = false}) Clip?
Retrieves a Clip value from the JSON map for the given key.
collapseMode({String key = FlutterPropertyKeys.collapseMode, CollapseMode defaultValue = CollapseMode.parallax, Object? target, bool warmUp = false}) CollapseMode
Retrieves a CollapseMode value from the JSON map for the given key.
containsKey(Object? key) bool
Whether this map contains the given key.
inherited
containsValue(Object? value) bool
Whether this map contains the given value.
inherited
crossAxisAlignment({String key = FlutterPropertyKeys.crossAxisAlignment, CrossAxisAlignment? defaultValue, Object? target, bool warmUp = false}) CrossAxisAlignment?
Retrieves a CrossAxisAlignment value from the JSON map for the given key.
curve({String key = FlutterPropertyKeys.curve, Curve defaultValue = Curves.linear, Object? target, bool warmUp = false}) Curve?
Retrieves a Curve value from the JSON map for the given key.
datePickerEntryMode({required String key, DatePickerEntryMode defaultValue = DatePickerEntryMode.calendar}) DatePickerEntryMode
Retrieves a DatePickerEntryMode value from the JSON map associated with the given key.
datePickerMode({required String key, DatePickerMode defaultValue = DatePickerMode.day}) DatePickerMode
Retrieves a DatePickerMode value from the JSON map associated with the given key.
dateTime({required String key, DateTime? defaultValue}) DateTime?
Retrieves a DateTime value from the JSON map associated with the given key.
decoration({String key = FlutterPropertyKeys.decoration, Decoration? defaultValue, Object? target, bool warmUp = false}) Decoration?
Retrieves a Decoration value from the JSON map for the given key.
deepCopy() Map<String, dynamic>
Creates a deep copy of the current JSON data structure.
dispatchCall(String key, Object? target) → dynamic
dragDevices({String key = FlutterPropertyKeys.dragDevices, Set<PointerDeviceKind>? defaultValue, Object? target, bool warmUp = false}) Set<PointerDeviceKind>?
dragStartBehavior({String key = FlutterPropertyKeys.dragStartBehavior, DragStartBehavior defaultValue = DragStartBehavior.start, Object? target, bool warmUp = false}) DragStartBehavior
Retrieves a DragStartBehavior value from the JSON map for the given key.
duration({String key = FlutterPropertyKeys.duration, Duration? defaultValue, Object? target, bool warmUp = false}) Duration
Retrieves a duration value from the JSON map associated with the given key.
edgeInsets({String key = FlutterPropertyKeys.padding, EdgeInsets? defaultValue, Object? target, bool warmUp = false}) EdgeInsets?
Retrieves an EdgeInsets value from the JSON map for the given key.
executionOptions({String key = "options", ExecutionOptions? defaultValue}) → ExecutionOptions?
Retrieves an ExecutionOptions value from the JSON map for the given key.
fabLocation({String key = FlutterPropertyKeys.floatingActionButtonLocation, FloatingActionButtonLocation? defaultValue, Object? target, bool warmUp = false}) FloatingActionButtonLocation?
Retrieves a FloatingActionButtonLocation value from the JSON map for the given key.
filterQuality({String key = FlutterPropertyKeys.filterQuality, FilterQuality defaultValue = FilterQuality.medium, Object? target, bool warmUp = false}) FilterQuality
Retrieves a FilterQuality value from the JSON map for the given key.
flexFit({required String key, FlexFit defaultValue = FlexFit.loose}) FlexFit?
Retrieves a FlexFit value from the JSON map associated with the given key.
focusNode({String key = FlutterPropertyKeys.focusNode, FocusNode? defaultValue, Object? target, bool warmUp = false}) FocusNode?
Retrieves a FocusNode from the JSON map for the given key.
fontStyle({String key = FlutterPropertyKeys.fontStyle, FontStyle? defaultValue, Object? target, bool warmUp = false}) FontStyle?
fontWeight({String key = FlutterPropertyKeys.fontWeight, FontWeight? defaultValue, Object? target, bool warmUp = false}) FontWeight?
Retrieves a FontWeight value from the JSON map for the given key.
forEach(void action(String key, dynamic value)) → void
Applies action to each key/value pair of the map.
inherited
getAction(String key) ServerAction?
Retrieves a ServerAction from the JSON map associated with the given key.
getActionDependencies() Iterable<ActionDependency>
Retrieves a list of action dependencies from the JSON map.
getBool(String key, {bool? defaultValue}) bool
Retrieves a bool value from the JSON map associated with the given key.
getDouble({required String key, double? defaultValue}) double
Retrieves a double value from the JSON map associated with the given key.
getInt({required String key, int? defaultValue}) int
Retrieves an int value from the JSON map associated with the given key.
getString({required String key, String? defaultValue}) String
Retrieves a String value from the JSON map associated with the given key.
hitTestBehavior({String key = FlutterPropertyKeys.hitTestBehavior, HitTestBehavior defaultValue = HitTestBehavior.deferToChild, Object? target, bool warmUp = false}) HitTestBehavior
Retrieves a HitTestBehavior value from the JSON map for the given key.
iconData({required String key, IconData? defaultValue}) IconData?
Retrieves an IconData value from the JSON map associated with the given key.
imageFilter({String key = FlutterPropertyKeys.filter, ImageFilter? defaultValue, Object? target, bool warmUp = false}) ImageFilter?
Retrieves an ImageFilter value from the JSON map for the given key.
imageRepeat({String key = FlutterPropertyKeys.repeat, ImageRepeat defaultValue = ImageRepeat.noRepeat, Object? target, bool warmUp = false}) ImageRepeat
Retrieves an ImageRepeat value from the JSON map for the given key.
inputBorder({String key = FlutterPropertyKeys.inputBorder, InputBorder? defaultValue, Object? target, bool warmUp = false}) InputBorder?
Retrieves an InputBorder value from the JSON map for the given key.
inputDecoration({String key = FlutterPropertyKeys.inputDecoration, InputDecoration? defaultValue, Object? target, bool warmUp = false}) InputDecoration?
Retrieves an InputDecoration value from the JSON map for the given key.
keyboardDismissBehavior({String key = FlutterPropertyKeys.keyboardDismissBehavior, ScrollViewKeyboardDismissBehavior defaultValue = ScrollViewKeyboardDismissBehavior.manual, Object? target, bool warmUp = false}) ScrollViewKeyboardDismissBehavior
Retrieves a ScrollViewKeyboardDismissBehavior value from the JSON map for the given key.
locale({String key = FlutterPropertyKeys.locale, Locale? defaultValue, Object? target, bool warmUp = false}) Locale?
Retrieves a Locale value from the JSON map associated with the given key.
localeFromString(String value) Locale
mainAxisAlignment({String key = FlutterPropertyKeys.mainAxisAlignment, MainAxisAlignment? defaultValue, Object? target, bool warmUp = false}) MainAxisAlignment?
Retrieves a MainAxisAlignment value from the JSON map for the given key.
mainAxisSize({String key = FlutterPropertyKeys.mainAxisSize, MainAxisSize? defaultValue, Object? target, bool warmUp = false}) MainAxisSize?
Retrieves a MainAxisSize value from the JSON map for the given key.
map<K2, V2>(MapEntry<K2, V2> convert(String key, dynamic value)) Map<K2, V2>
Returns a new map where all entries of this map are transformed by the given convert function.
inherited
materialTapTargetSize({String key = FlutterPropertyKeys.materialTapTargetSize, MaterialTapTargetSize? defaultValue, Object? target, bool warmUp = false}) MaterialTapTargetSize?
Retrieves a MaterialTapTargetSize value from the JSON map for the given key.
multitouchDragStrategy({String key = FlutterPropertyKeys.multitouchDragStrategy, MultitouchDragStrategy? defaultValue, Object? target, bool warmUp = false}) MultitouchDragStrategy?
Retrieves a MultitouchDragStrategy value from the JSON map associated with the given key.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
offset({String key = FlutterPropertyKeys.offset, Offset? defaultValue, Object? target, bool warmUp = false}) Offset?
Retrieves an Offset value from the JSON map for the given key.
orientation({String key = FlutterPropertyKeys.orientation, Orientation defaultValue = Orientation.portrait, Object? target, bool warmUp = false}) Orientation?
Retrieves an Orientation value from the JSON map associated with the given key.
overflowBoxFit({String key = FlutterPropertyKeys.overflowBoxFit, OverflowBoxFit defaultValue = OverflowBoxFit.max, Object? target, bool warmUp = false}) OverflowBoxFit?
Retrieves an OverflowBoxFit value from the JSON map for the given key.
parseColor({String key = FlutterPropertyKeys.color, Color defaultValue = Colors.transparent}) Color
Retrieves a color value from the JSON map associated with the given key.
pointerAxisModifiers({String key = FlutterPropertyKeys.pointerAxisModifiers, Set<LogicalKeyboardKey>? defaultValue, Object? target, bool warmUp = false}) Set<LogicalKeyboardKey>?
putIfAbsent(String key, dynamic ifAbsent()) → dynamic
Look up the value of key, or add a new entry if it isn't there.
inherited
radius({String key = FlutterPropertyKeys.radius, Radius defaultValue = Radius.zero, Object? target, bool warmUp = false}) Radius
remove(Object? key) → dynamic
Removes key and its associated value, if present, from the map.
inherited
removeWhere(bool test(String key, dynamic value)) → void
Removes all entries of this map that satisfy the given test.
inherited
scrollBehavior({String key = FlutterPropertyKeys.scrollBehavior, ScrollBehavior? defaultValue, Object? target, bool warmUp = false}) ScrollBehavior?
Retrieves a ScrollBehavior value from the JSON map associated with the given key.
scrollPhysics({String key = FlutterPropertyKeys.physics, ScrollPhysics? defaultValue, Object? target, bool warmUp = false}) ScrollPhysics?
Retrieves a ScrollPhysics value from the JSON map for the given key.
shapeBorder({String key = FlutterPropertyKeys.shape, ShapeBorder? defaultValue, Object? target, bool warmUp = false}) ShapeBorder?
Retrieves a ShapeBorder value from the JSON map for the given key.
size(String key, {Size defaultValue = Size.zero}) Size
Retrieves a Size value from the JSON map for the given key.
sliderInteraction({String key = FlutterPropertyKeys.allowedInteraction, SliderInteraction? defaultValue, Object? target, bool warmUp = false}) SliderInteraction?
Retrieves a SliderInteraction value from the JSON map for the given key.
stackFit({String key = FlutterPropertyKeys.stackFit, StackFit? defaultValue, Object? target, bool warmUp = false}) StackFit?
Retrieves a StackFit value from the JSON map for the given key.
stretchModes({String key = FlutterPropertyKeys.stretchModes, List<StretchMode> defaultValue = const [StretchMode.zoomBackground], Object? target, bool warmUp = false}) List<StretchMode>
Retrieves a list of StretchMode values from the JSON map for the given key.
strutStyle({String key = FlutterPropertyKeys.strutStyle, StrutStyle? defaultValue, Object? target, bool warmUp = false}) StrutStyle?
Retrieves a StrutStyle value from the JSON map for the given key.
targetPlatform({String key = FlutterPropertyKeys.platform, TargetPlatform? defaultValue, Object? target, bool warmUp = false}) TargetPlatform?
Retrieves a TargetPlatform value from the JSON map associated with the given key.
textAlign({String key = FlutterPropertyKeys.textAlign, TextAlign defaultValue = TextAlign.start, Object? target, bool warmUp = false}) TextAlign?
Retrieves a TextAlign value from the JSON map associated with the given key.
textBaseline({String key = FlutterPropertyKeys.textBaseline, TextBaseline? defaultValue, Object? target, bool warmUp = false}) TextBaseline?
Retrieves a TextBaseline value from the JSON map for the given key.
textDecoration({String key = FlutterPropertyKeys.decoration, TextDecoration? defaultValue, Object? target, bool warmUp = false}) TextDecoration?
Retrieves a TextDecoration value from the JSON map for the given key.
textDecorationStyle({String key = FlutterPropertyKeys.decorationStyle, TextDecorationStyle? defaultValue, Object? target, bool warmUp = false}) TextDecorationStyle?
Retrieves a TextDecorationStyle value from the JSON map for the given key.
textDirection({String key = FlutterPropertyKeys.textDirection, TextDirection? defaultValue, Object? target, bool warmUp = false}) TextDirection?
Retrieves a TextDirection value from the JSON map for the given key.
textHeightBehavior({String key = "textHeightBehavior", TextHeightBehavior? defaultValue, Object? target, bool warmUp = false}) TextHeightBehavior?
Retrieves a TextHeightBehavior value from the JSON map for the given key.
textInputType({String key = FlutterPropertyKeys.keyboardType, TextInputType? defaultValue, Object? target, bool warmUp = false}) TextInputType?
textLeadingDistribution({String key = FlutterPropertyKeys.leadingDistribution, TextLeadingDistribution? defaultValue, Object? target, bool warmUp = false}) TextLeadingDistribution?
Retrieves a TextLeadingDistribution value from the JSON map for the given key.
textOverflow({String key = FlutterPropertyKeys.textOverflow, TextOverflow defaultValue = TextOverflow.clip, Object? target, bool warmUp = false}) TextOverflow?
Retrieves a TextOverflow value from the JSON map for the given key.
textScaler({String key = FlutterPropertyKeys.textScaler, TextScaler defaultValue = TextScaler.noScaling, Object? target, bool warmUp = false}) TextScaler
Retrieves a TextScaler value from the JSON map for the given key.
textSpan({String key = FlutterPropertyKeys.textSpan, TextSpan? defaultValue, Object? target, bool warmUp = false}) TextSpan
Retrieves a TextSpan value from the JSON map for the given key.
textStyle({String key = FlutterPropertyKeys.style, TextStyle? defaultValue, Object? target, bool warmUp = false}) TextStyle?
Retrieves a TextStyle value from the JSON map associated with the given key.
textWidthBasis({String key = FlutterPropertyKeys.textWidthBasis, TextWidthBasis defaultValue = TextWidthBasis.parent, Object? target, bool warmUp = false}) TextWidthBasis?
Retrieves a TextWidthBasis value from the JSON map for the given key.
themeOverrideRule({String key = FlutterPropertyKeys.overrideRule, ThemeOverrideRule defaultValue = ThemeOverrideRule.themeOverlay, Object? target, bool warmUp = false}) → ThemeOverrideRule
Retrieves a ThemeOverrideRule value from the JSON map for the given key.
tileMode({String key = FlutterPropertyKeys.tileMode, TileMode defaultValue = TileMode.clamp, Object? target, bool warmUp = false}) TileMode
Retrieves a TileMode value from the JSON map for the given key.
timeOfDay({required String key, TimeOfDay? defaultValue}) TimeOfDay?
Retrieves a TimeOfDay value from the JSON map associated with the given key.
timePickerEntryMode({required String key, TimePickerEntryMode defaultValue = TimePickerEntryMode.dial}) TimePickerEntryMode
Retrieves a TimePickerEntryMode value from the JSON map associated with the given key.
toClass<T extends Object>({required String key, Type? typeArg, T? defaultValue}) → T
Deserializes a value at key into an instance of custom class T.
toEnum<T extends Enum>({required String key, Type? typeArg, T? defaultValue}) → T
Deserializes a value at key into an instance of custom enum T.
tooltipTriggerMode({String key = FlutterPropertyKeys.triggerMode, TooltipTriggerMode? defaultValue, Object? target, bool warmUp = false}) TooltipTriggerMode?
Retrieves a TooltipTriggerMode value from the JSON map for the given key.
toString() String
A string representation of this object.
inherited
traversalDirection({String key = FlutterPropertyKeys.traversalDirection, TraversalDirection? defaultValue, Object? target, bool warmUp = false}) TraversalDirection?
Retrieves a TraversalDirection value from the JSON map for the given key.
tryGetBool(String key, {bool? defaultValue}) bool?
Retrieves a bool value from the JSON map associated with the given key.
tryGetDouble({required String key, double? defaultValue}) double?
Retrieves a double value from the JSON map associated with the given key.
tryGetInt({required String key, int? defaultValue}) int?
Retrieves an int value from the JSON map associated with the given key.
tryGetString(String key, {String? defaultValue}) String?
Retrieves a String value from the JSON map associated with the given key.
tryParseColor({String key = FlutterPropertyKeys.color, Color? defaultValue, Object? target, bool warmUp = false}) Color?
Retrieves a color value from the JSON map associated with the given key.
tryParseIfNotNull<T>({required String key, required CommonDuitDataSourceMethodSignature<T> converter, T? defaultValue}) → T?
Conditionally parses a value from the JSON map only when the key exists.
tweens({String key = "tweenDescriptions"}) List<DuitTweenDescription>
Retrieves a list of DuitTweenDescription values from the JSON map for the given key.
tweenType({String key = "type", TweenType defaultValue = TweenType.tween}) → TweenType
Retrieves a TweenType value from the JSON map for the given key.
uint8List({String key = FlutterPropertyKeys.byteData, Uint8List? defaultValue, Object? target, bool warmUp = false}) Uint8List
Retrieves a Uint8List value from the JSON map for the given key.
unfocusDisposition({String key = FlutterPropertyKeys.unfocusDisposition, UnfocusDisposition defaultValue = UnfocusDisposition.scope, Object? target, bool warmUp = false}) UnfocusDisposition
Retrieves an UnfocusDisposition value from the JSON map for the given key.
update(String key, dynamic update(dynamic value), {dynamic ifAbsent()?}) → dynamic
Updates the value for the provided key.
inherited
updateAll(dynamic update(String key, dynamic value)) → void
Updates all values.
inherited
verticalDirection({String key = FlutterPropertyKeys.verticalDirection, Object? target, bool warmUp = false, VerticalDirection defaultValue = VerticalDirection.down}) VerticalDirection
Retrieves a VerticalDirection value from the JSON map for the given key.
visualDensity({String key = FlutterPropertyKeys.visualDensity, VisualDensity defaultValue = const VisualDensity(), Object? target, bool warmUp = false}) VisualDensity
Retrieves a VisualDensity value from the JSON map for the given key.
widgetStateProperty<T>({required String key, WidgetStateProperty<T?>? defaultValue}) WidgetStateProperty<T?>?
Retrieves a WidgetStateProperty value from the JSON map for the given key.
wrapAlignment({String key = FlutterPropertyKeys.wrapAlignment, WrapAlignment? defaultValue, Object? target, bool warmUp = false}) WrapAlignment?
wrapCrossAlignment({String key = FlutterPropertyKeys.wrapCrossAlignment, WrapCrossAlignment? defaultValue, Object? target, bool warmUp = false}) WrapCrossAlignment?
Retrieves a WrapCrossAlignment value from the JSON map for the given key.

Operators

operator ==(Object other) bool
The equality operator.
inherited
operator [](Object? key) → dynamic
The value for the given key, or null if key is not in the map.
inherited
operator []=(String key, dynamic value) → void
Associates the key with the given value.
inherited

Static Properties

jsonReviver Object? Function(Object? key, Object? value)?
no setter