getChildrenByName method

  1. @override
List<FhirBase> getChildrenByName(
  1. String fieldName, [
  2. bool checkValid = false
])
override

Retrieves all matching child fields by name. Optionally validates the name.

Implementation

@override
List<FhirBase> getChildrenByName(
  String fieldName, [
  bool checkValid = false,
]) {
  final fields = <FhirBase>[];
  switch (fieldName) {
    case 'id':
      if (id != null) {
        fields.add(id!);
      }
    case 'extension':
      if (extension_ != null) {
        fields.addAll(extension_!);
      }
    case 'path':
      if (path != null) {
        fields.add(path!);
      }
    case 'searchParam':
      if (searchParam != null) {
        fields.add(searchParam!);
      }
    case 'valueSet':
      if (valueSet != null) {
        fields.add(valueSet!);
      }
    case 'code':
      if (code != null) {
        fields.addAll(code!);
      }
    default:
      if (checkValid) {
        throw ArgumentError('Invalid name: $fieldName');
      }
  }
  return fields;
}