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 ROLE:
      if (value == null) {
        unsetRole();
      } else {
        this.role = value as int?;
      }
      break;

    case HOST:
      if (value == null) {
        unsetHost();
      } else {
        this.host = value as t_nebula.HostAddr?;
      }
      break;

    case CLUSTER_ID:
      if (value == null) {
        unsetCluster_id();
      } else {
        this.cluster_id = value as int;
      }
      break;

    case LEADER_PARTIDS:
      if (value == null) {
        unsetLeader_partIds();
      } else {
        this.leader_partIds = value as Map<int, List<LeaderInfo>>?;
      }
      break;

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

    case DISK_PARTS:
      if (value == null) {
        unsetDisk_parts();
      } else {
        this.disk_parts = value as Map<int, Map<Int8List, PartitionList>>?;
      }
      break;

    case DIR:
      if (value == null) {
        unsetDir();
      } else {
        this.dir = value as t_nebula.DirInfo?;
      }
      break;

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

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