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 DIR:
      if (value == null) {
        unsetDir();
      } else {
        this.dir = value as t_nebula.DirInfo;
      }
      break;

    case ADDR:
      if (value == null) {
        unsetAddr();
      } else {
        this.addr = value as t_nebula.HostAddr;
      }
      break;

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

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