when<TResult extends Object?> method
TResult
when<TResult extends Object?>({
- required TResult general(),
- required TResult sapMessage(),
- required TResult csrfToken(),
- required TResult transport(),
- required TResult noResource(),
- required TResult unauthorized(),
- required TResult timeout(),
- required TResult materialDocument(),
- required TResult batchClassification(),
A switch-like method, using callbacks.
As opposed to map, this offers destructuring.
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case Subclass2(:final field2):
return ...;
}
Implementation
@optionalTypeArgs TResult when<TResult extends Object?>({required TResult Function( int statusCode, String body, String message, String? method, String? url, Map<String, dynamic>? requestHeaders, Map<String, dynamic>? requestBody, Map<String, dynamic>? responseHeaders, DateTime? requestStartTime, DateTime? requestEndTime) general,required TResult Function( String message, String? additionalInfo, String? method, String? url, String? body, Map<String, dynamic>? requestHeaders, Map<String, dynamic>? requestBody, int? statusCode, Map<String, dynamic>? responseHeaders, DateTime? requestStartTime, DateTime? requestEndTime) sapMessage,required TResult Function( String body, int statusCode, String message, String? method, String? url, Map<String, dynamic>? requestHeaders, Map<String, dynamic>? requestBody, Map<String, dynamic>? responseHeaders, DateTime? requestStartTime, DateTime? requestEndTime) csrfToken,required TResult Function( String message, String? additionalInfo, String? method, String? url, String? body, Map<String, dynamic>? requestHeaders, Map<String, dynamic>? requestBody, int? statusCode, Map<String, dynamic>? responseHeaders, DateTime? requestStartTime, DateTime? requestEndTime) transport,required TResult Function( String message, String? additionalInfo, String? method, String? url, String? body, Map<String, dynamic>? requestHeaders, Map<String, dynamic>? requestBody, int? statusCode, Map<String, dynamic>? responseHeaders, DateTime? requestStartTime, DateTime? requestEndTime) noResource,required TResult Function( String message, String? additionalInfo, String? method, String? url, String? body, Map<String, dynamic>? requestHeaders, Map<String, dynamic>? requestBody, int? statusCode, Map<String, dynamic>? responseHeaders, DateTime? requestStartTime, DateTime? requestEndTime) unauthorized,required TResult Function( String message, String? additionalInfo, String? method, String? url, String? body, Map<String, dynamic>? requestHeaders, Map<String, dynamic>? requestBody, int? statusCode, Map<String, dynamic>? responseHeaders, DateTime? requestStartTime, DateTime? requestEndTime) timeout,required TResult Function( String message, String? method, String? url, String? body, Map<String, dynamic>? requestHeaders, Map<String, dynamic>? requestBody, int? statusCode, Map<String, dynamic>? responseHeaders, DateTime? requestStartTime, DateTime? requestEndTime) materialDocument,required TResult Function( String message, String? method, String? url, String? body, Map<String, dynamic>? requestHeaders, Map<String, dynamic>? requestBody, int? statusCode, Map<String, dynamic>? responseHeaders, DateTime? requestStartTime, DateTime? requestEndTime) batchClassification,}) {final _that = this;
switch (_that) {
case ApiResponseExceptionGeneral():
return general(_that.statusCode,_that.body,_that.message,_that.method,_that.url,_that.requestHeaders,_that.requestBody,_that.responseHeaders,_that.requestStartTime,_that.requestEndTime);case SapHeadersException():
return sapMessage(_that.message,_that.additionalInfo,_that.method,_that.url,_that.body,_that.requestHeaders,_that.requestBody,_that.statusCode,_that.responseHeaders,_that.requestStartTime,_that.requestEndTime);case CsrfTokenException():
return csrfToken(_that.body,_that.statusCode,_that.message,_that.method,_that.url,_that.requestHeaders,_that.requestBody,_that.responseHeaders,_that.requestStartTime,_that.requestEndTime);case TransportException():
return transport(_that.message,_that.additionalInfo,_that.method,_that.url,_that.body,_that.requestHeaders,_that.requestBody,_that.statusCode,_that.responseHeaders,_that.requestStartTime,_that.requestEndTime);case NoResourceException():
return noResource(_that.message,_that.additionalInfo,_that.method,_that.url,_that.body,_that.requestHeaders,_that.requestBody,_that.statusCode,_that.responseHeaders,_that.requestStartTime,_that.requestEndTime);case UnauthorizedException():
return unauthorized(_that.message,_that.additionalInfo,_that.method,_that.url,_that.body,_that.requestHeaders,_that.requestBody,_that.statusCode,_that.responseHeaders,_that.requestStartTime,_that.requestEndTime);case TimeoutException():
return timeout(_that.message,_that.additionalInfo,_that.method,_that.url,_that.body,_that.requestHeaders,_that.requestBody,_that.statusCode,_that.responseHeaders,_that.requestStartTime,_that.requestEndTime);case MaterialDocumentException():
return materialDocument(_that.message,_that.method,_that.url,_that.body,_that.requestHeaders,_that.requestBody,_that.statusCode,_that.responseHeaders,_that.requestStartTime,_that.requestEndTime);case BatchClassificationException():
return batchClassification(_that.message,_that.method,_that.url,_that.body,_that.requestHeaders,_that.requestBody,_that.statusCode,_that.responseHeaders,_that.requestStartTime,_that.requestEndTime);}
}