// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'sync_contact_source.dart';

// **************************************************************************
// BuiltValueGenerator
// **************************************************************************

class _$SyncContactSource extends SyncContactSource {
  @override
  final String? abteilung;
  @override
  final String? anrede;
  @override
  final BuiltList<SyncContactChannel>? channels;
  @override
  final String? funktion;
  @override
  final String? name1;
  @override
  final String? name2;
  @override
  final String? name3;
  @override
  final ContactRole role;
  @override
  final String? titel;

  factory _$SyncContactSource(
          [void Function(SyncContactSourceBuilder)? updates]) =>
      (SyncContactSourceBuilder()..update(updates))._build();

  _$SyncContactSource._(
      {this.abteilung,
      this.anrede,
      this.channels,
      this.funktion,
      this.name1,
      this.name2,
      this.name3,
      required this.role,
      this.titel})
      : super._();
  @override
  SyncContactSource rebuild(void Function(SyncContactSourceBuilder) updates) =>
      (toBuilder()..update(updates)).build();

  @override
  SyncContactSourceBuilder toBuilder() =>
      SyncContactSourceBuilder()..replace(this);

  @override
  bool operator ==(Object other) {
    if (identical(other, this)) return true;
    return other is SyncContactSource &&
        abteilung == other.abteilung &&
        anrede == other.anrede &&
        channels == other.channels &&
        funktion == other.funktion &&
        name1 == other.name1 &&
        name2 == other.name2 &&
        name3 == other.name3 &&
        role == other.role &&
        titel == other.titel;
  }

  @override
  int get hashCode {
    var _$hash = 0;
    _$hash = $jc(_$hash, abteilung.hashCode);
    _$hash = $jc(_$hash, anrede.hashCode);
    _$hash = $jc(_$hash, channels.hashCode);
    _$hash = $jc(_$hash, funktion.hashCode);
    _$hash = $jc(_$hash, name1.hashCode);
    _$hash = $jc(_$hash, name2.hashCode);
    _$hash = $jc(_$hash, name3.hashCode);
    _$hash = $jc(_$hash, role.hashCode);
    _$hash = $jc(_$hash, titel.hashCode);
    _$hash = $jf(_$hash);
    return _$hash;
  }

  @override
  String toString() {
    return (newBuiltValueToStringHelper(r'SyncContactSource')
          ..add('abteilung', abteilung)
          ..add('anrede', anrede)
          ..add('channels', channels)
          ..add('funktion', funktion)
          ..add('name1', name1)
          ..add('name2', name2)
          ..add('name3', name3)
          ..add('role', role)
          ..add('titel', titel))
        .toString();
  }
}

class SyncContactSourceBuilder
    implements Builder<SyncContactSource, SyncContactSourceBuilder> {
  _$SyncContactSource? _$v;

  String? _abteilung;
  String? get abteilung => _$this._abteilung;
  set abteilung(String? abteilung) => _$this._abteilung = abteilung;

  String? _anrede;
  String? get anrede => _$this._anrede;
  set anrede(String? anrede) => _$this._anrede = anrede;

  ListBuilder<SyncContactChannel>? _channels;
  ListBuilder<SyncContactChannel> get channels =>
      _$this._channels ??= ListBuilder<SyncContactChannel>();
  set channels(ListBuilder<SyncContactChannel>? channels) =>
      _$this._channels = channels;

  String? _funktion;
  String? get funktion => _$this._funktion;
  set funktion(String? funktion) => _$this._funktion = funktion;

  String? _name1;
  String? get name1 => _$this._name1;
  set name1(String? name1) => _$this._name1 = name1;

  String? _name2;
  String? get name2 => _$this._name2;
  set name2(String? name2) => _$this._name2 = name2;

  String? _name3;
  String? get name3 => _$this._name3;
  set name3(String? name3) => _$this._name3 = name3;

  ContactRole? _role;
  ContactRole? get role => _$this._role;
  set role(ContactRole? role) => _$this._role = role;

  String? _titel;
  String? get titel => _$this._titel;
  set titel(String? titel) => _$this._titel = titel;

  SyncContactSourceBuilder() {
    SyncContactSource._defaults(this);
  }

  SyncContactSourceBuilder get _$this {
    final $v = _$v;
    if ($v != null) {
      _abteilung = $v.abteilung;
      _anrede = $v.anrede;
      _channels = $v.channels?.toBuilder();
      _funktion = $v.funktion;
      _name1 = $v.name1;
      _name2 = $v.name2;
      _name3 = $v.name3;
      _role = $v.role;
      _titel = $v.titel;
      _$v = null;
    }
    return this;
  }

  @override
  void replace(SyncContactSource other) {
    _$v = other as _$SyncContactSource;
  }

  @override
  void update(void Function(SyncContactSourceBuilder)? updates) {
    if (updates != null) updates(this);
  }

  @override
  SyncContactSource build() => _build();

  _$SyncContactSource _build() {
    _$SyncContactSource _$result;
    try {
      _$result = _$v ??
          _$SyncContactSource._(
            abteilung: abteilung,
            anrede: anrede,
            channels: _channels?.build(),
            funktion: funktion,
            name1: name1,
            name2: name2,
            name3: name3,
            role: BuiltValueNullFieldError.checkNotNull(
                role, r'SyncContactSource', 'role'),
            titel: titel,
          );
    } catch (_) {
      late String _$failedField;
      try {
        _$failedField = 'channels';
        _channels?.build();
      } catch (e) {
        throw BuiltValueNestedFieldError(
            r'SyncContactSource', _$failedField, e.toString());
      }
      rethrow;
    }
    replace(_$result);
    return _$result;
  }
}

// ignore_for_file: deprecated_member_use_from_same_package,type=lint
