setParam<T> method
Sets param with key
& value
.
Return false
if param scheme is not registered.
Implementation
@protected
bool setParam<T>(Comparable key, T value) {
// Anchor module does not need to set param scheme.
if (this == anchor) {
final oldValue = _params[key];
if (oldValue != null && oldValue.runtimeType != value.runtimeType) {
return false;
}
_setParam(key, value);
return true;
}
if (!_paramSchemes.keys.contains(key)) {
return false;
}
final schemeType = _paramSchemes[key];
if (schemeType == dynamic || schemeType == Object) {
final oldValue = _params[key];
if (oldValue != null && oldValue.runtimeType != value.runtimeType) {
return false;
}
} else {
if (schemeType != value.runtimeType) {
return false;
}
}
_setParam(key, value);
return true;
}