protected override void handle_result(TypeValue new_value)
        {
            FlightSegmentSearchCriterionJSON result = new FlightSegmentSearchCriterionJSON();

            result.setValue(new_value);
            handle_result(result);
        }
    private void  fromJSONSearchCriteria(JSONValue json_value, bool ignore_extras)
    {
        Debug.Assert(json_value != null);
        JSONArrayValue json_array1 = json_value.array_value();

        if (json_array1 == null)
        {
            throw new Exception("The value for field SearchCriteria of FlightSegmentFilterJSON is not an array.");
        }
        int count1 = json_array1.componentCount();

        if (count1 < 1)
        {
            throw new Exception("The value for field SearchCriteria of FlightSegmentFilterJSON has too few elements.");
        }
        List <FlightSegmentSearchCriterionJSON> vector_SearchCriteria1 = new List <FlightSegmentSearchCriterionJSON>(count1);

        for (int num1 = 0; num1 < count1; ++num1)
        {
            FlightSegmentSearchCriterionJSON convert_classy = FlightSegmentSearchCriterionJSON.from_json(json_array1.component(num1), ignore_extras, true);
            vector_SearchCriteria1.Add(convert_classy);
        }
        Debug.Assert(vector_SearchCriteria1.Count >= 1);
        initSearchCriteria();
        for (int num1 = 0; num1 < vector_SearchCriteria1.Count; ++num1)
        {
            appendSearchCriteria(vector_SearchCriteria1[num1]);
        }
        for (int num1 = 0; num1 < vector_SearchCriteria1.Count; ++num1)
        {
        }
    }
 public void appendUpdatedSearchCriteria(FlightSegmentSearchCriterionJSON to_append)
 {
     if (!flagHasUpdatedSearchCriteria)
     {
         flagHasUpdatedSearchCriteria = true;
         storeUpdatedSearchCriteria.Clear();
     }
     Debug.Assert(flagHasUpdatedSearchCriteria);
     storeUpdatedSearchCriteria.Add(to_append);
 }
 public void appendUpdatedSearchCriteria(string chars)
 {
     FlightSegmentSearchCriterionJSON.TypeValueKnownValues known     = FlightSegmentSearchCriterionJSON.stringToValue(chars);
     FlightSegmentSearchCriterionJSON.TypeValue            new_value = new FlightSegmentSearchCriterionJSON.TypeValue();
     if (known == FlightSegmentSearchCriterionJSON.TypeValueKnownValues.Value__none)
     {
         new_value.in_known_list = false;
         new_value.string_value  = chars;
     }
     else
     {
         new_value.in_known_list = true;
         new_value.list_value    = known;
     }
     appendUpdatedSearchCriteria(new_value);
 }
 protected override void handle_result(FlightSegmentSearchCriterionJSON result)
 {
     top.value.Add(result);
 }
        protected override void handle_result(FlightSegmentSearchCriterionJSON result)
        {
//@@@            Debug.Assert(!have_value);
            have_value = true;
            value      = result;
        }
 protected abstract void handle_result(FlightSegmentSearchCriterionJSON new_result);