when<TResult extends Object?> method

  1. @optionalTypeArgs
TResult when<TResult extends Object?>({
  1. required TResult general(
    1. int statusCode,
    2. String body,
    3. String message,
    4. String? method,
    5. String? url,
    6. Map<String, dynamic>? requestHeaders,
    7. Map<String, dynamic>? requestBody,
    8. Map<String, dynamic>? responseHeaders,
    9. DateTime? requestStartTime,
    10. DateTime? requestEndTime,
    ),
  2. required TResult sapMessage(
    1. String message,
    2. String? additionalInfo,
    3. String? method,
    4. String? url,
    5. String? body,
    6. Map<String, dynamic>? requestHeaders,
    7. Map<String, dynamic>? requestBody,
    8. int? statusCode,
    9. Map<String, dynamic>? responseHeaders,
    10. DateTime? requestStartTime,
    11. DateTime? requestEndTime,
    ),
  3. required TResult csrfToken(
    1. String body,
    2. int statusCode,
    3. String message,
    4. String? method,
    5. String? url,
    6. Map<String, dynamic>? requestHeaders,
    7. Map<String, dynamic>? requestBody,
    8. Map<String, dynamic>? responseHeaders,
    9. DateTime? requestStartTime,
    10. DateTime? requestEndTime,
    ),
  4. required TResult transport(
    1. String message,
    2. String? additionalInfo,
    3. String? method,
    4. String? url,
    5. String? body,
    6. Map<String, dynamic>? requestHeaders,
    7. Map<String, dynamic>? requestBody,
    8. int? statusCode,
    9. Map<String, dynamic>? responseHeaders,
    10. DateTime? requestStartTime,
    11. DateTime? requestEndTime,
    ),
  5. required TResult noResource(
    1. String message,
    2. String? additionalInfo,
    3. String? method,
    4. String? url,
    5. String? body,
    6. Map<String, dynamic>? requestHeaders,
    7. Map<String, dynamic>? requestBody,
    8. int? statusCode,
    9. Map<String, dynamic>? responseHeaders,
    10. DateTime? requestStartTime,
    11. DateTime? requestEndTime,
    ),
  6. required TResult unauthorized(
    1. String message,
    2. String? additionalInfo,
    3. String? method,
    4. String? url,
    5. String? body,
    6. Map<String, dynamic>? requestHeaders,
    7. Map<String, dynamic>? requestBody,
    8. int? statusCode,
    9. Map<String, dynamic>? responseHeaders,
    10. DateTime? requestStartTime,
    11. DateTime? requestEndTime,
    ),
  7. required TResult timeout(
    1. String message,
    2. String? additionalInfo,
    3. String? method,
    4. String? url,
    5. String? body,
    6. Map<String, dynamic>? requestHeaders,
    7. Map<String, dynamic>? requestBody,
    8. int? statusCode,
    9. Map<String, dynamic>? responseHeaders,
    10. DateTime? requestStartTime,
    11. DateTime? requestEndTime,
    ),
  8. required TResult materialDocument(
    1. String message,
    2. String? method,
    3. String? url,
    4. String? body,
    5. Map<String, dynamic>? requestHeaders,
    6. Map<String, dynamic>? requestBody,
    7. int? statusCode,
    8. Map<String, dynamic>? responseHeaders,
    9. DateTime? requestStartTime,
    10. DateTime? requestEndTime,
    ),
  9. required TResult batchClassification(
    1. String message,
    2. String? method,
    3. String? url,
    4. String? body,
    5. Map<String, dynamic>? requestHeaders,
    6. Map<String, dynamic>? requestBody,
    7. int? statusCode,
    8. Map<String, dynamic>? responseHeaders,
    9. DateTime? requestStartTime,
    10. DateTime? requestEndTime,
    ),
})

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);}
}