setFieldValue method

dynamic setFieldValue(
  1. int fieldID,
  2. Object? value
)
override

Set a field's value by fieldId. Primitive types must be "boxed" in the appropriate object wrapper type.

Implementation

setFieldValue(int fieldID, Object? value) {
  switch (fieldID) {
    case HOSTADDR:
      if (value == null) {
        unsetHostAddr();
      } else {
        this.hostAddr = value as t_nebula.HostAddr;
      }
      break;

    case STATUS:
      if (value == null) {
        unsetStatus();
      } else {
        this.status = value as int;
      }
      break;

    case LEADER_PARTS:
      if (value == null) {
        unsetLeader_parts();
      } else {
        this.leader_parts = value as Map<Int8List, List<int>>;
      }
      break;

    case ALL_PARTS:
      if (value == null) {
        unsetAll_parts();
      } else {
        this.all_parts = value as Map<Int8List, List<int>>;
      }
      break;

    case ROLE:
      if (value == null) {
        unsetRole();
      } else {
        this.role = value as int;
      }
      break;

    case GIT_INFO_SHA:
      if (value == null) {
        unsetGit_info_sha();
      } else {
        this.git_info_sha = value as Int8List;
      }
      break;

    case ZONE_NAME:
      if (value == null) {
        unsetZone_name();
      } else {
        this.zone_name = value as Int8List;
      }
      break;

    case VERSION:
      if (value == null) {
        unsetVersion();
      } else {
        this.version = value as Int8List;
      }
      break;

    default:
      throw new ArgumentError("Field $fieldID doesn't exist!");
  }
}