protected void finish(UnitsValue_PrecipitationJSON result) { if (fieldGeneratorFormat.have_value) { result.setFormat(fieldGeneratorFormat.value); fieldGeneratorFormat.have_value = false; } else if ((!(result.hasFormat())) && !allow_incomplete) { error("When parsing the object for %what%, the \"Format\" field was missing."); } if (fieldGeneratorUnits.have_value) { result.setUnits(fieldGeneratorUnits.value); fieldGeneratorUnits.have_value = false; } else if ((!(result.hasUnits())) && !allow_incomplete) { error("When parsing the object for %what%, the \"Units\" field was missing."); } if (fieldGeneratorWrittenUnits.have_value) { result.setWrittenUnits(fieldGeneratorWrittenUnits.value); fieldGeneratorWrittenUnits.have_value = false; } else if ((!(result.hasWrittenUnits())) && !allow_incomplete) { error("When parsing the object for %what%, the \"WrittenUnits\" field was missing."); } if (fieldGeneratorSpokenUnits.have_value) { result.setSpokenUnits(fieldGeneratorSpokenUnits.value); fieldGeneratorSpokenUnits.have_value = false; } else if ((!(result.hasSpokenUnits())) && !allow_incomplete) { error("When parsing the object for %what%, the \"SpokenUnits\" field was missing."); } if (fieldGeneratorValue.have_value) { result.setValueText(fieldGeneratorValue.value); fieldGeneratorValue.have_value = false; } else if ((!(result.hasValue())) && !allow_incomplete) { error("When parsing the object for %what%, the \"Value\" field was missing."); } }