示例#1
0
    private void  fromJSONGeonameAttributes(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 GeonameAttributes of GeonameFactsQueryStateJSON is not an array.");
        }
        int count1 = json_array1.componentCount();
        List <GeonameAttributeWithArgumentsJSON> vector_GeonameAttributes1 = new List <GeonameAttributeWithArgumentsJSON>(count1);

        for (int num1 = 0; num1 < count1; ++num1)
        {
            GeonameAttributeWithArgumentsJSON convert_classy = GeonameAttributeWithArgumentsJSON.from_json(json_array1.component(num1), ignore_extras, true);
            vector_GeonameAttributes1.Add(convert_classy);
        }
        initGeonameAttributes();
        for (int num2 = 0; num2 < vector_GeonameAttributes1.Count; ++num2)
        {
            appendGeonameAttributes(vector_GeonameAttributes1[num2]);
        }
        for (int num1 = 0; num1 < vector_GeonameAttributes1.Count; ++num1)
        {
        }
    }
示例#2
0
        protected override void finish()
        {
            GeonameAttributeWithArgumentsJSON result = new GeonameAttributeWithArgumentsJSON();

            Debug.Assert(result != null);
            finish(result);
            handle_result(result);
        }
示例#3
0
 public void appendGeonameAttributes(GeonameAttributeWithArgumentsJSON to_append)
 {
     if (!flagHasGeonameAttributes)
     {
         flagHasGeonameAttributes = true;
         storeGeonameAttributes.Clear();
     }
     Debug.Assert(flagHasGeonameAttributes);
     storeGeonameAttributes.Add(to_append);
 }
示例#4
0
 protected void finish(GeonameAttributeWithArgumentsJSON result)
 {
     if (fieldGeneratorAttributeID.have_value)
     {
         result.setAttributeID(fieldGeneratorAttributeID.value);
         fieldGeneratorAttributeID.have_value = false;
     }
     else if ((!(result.hasAttributeID())) && !allow_incomplete)
     {
         error("When parsing the object for %what%, the \"AttributeID\" field was missing.");
     }
     if (fieldGeneratorArguments.have_value)
     {
         result.initArguments();
         int count = fieldGeneratorArguments.value.Count;
         for (int num = 0; num < count; ++num)
         {
             result.appendArguments(fieldGeneratorArguments.value[num]);
         }
         fieldGeneratorArguments.value.Clear();
         fieldGeneratorArguments.have_value = false;
     }
 }
示例#5
0
 protected override void handle_result(GeonameAttributeWithArgumentsJSON result)
 {
     top.value.Add(result);
 }
示例#6
0
        protected override void handle_result(GeonameAttributeWithArgumentsJSON result)
        {
//@@@            Debug.Assert(!have_value);
            have_value = true;
            value      = result;
        }
示例#7
0
 protected abstract void handle_result(GeonameAttributeWithArgumentsJSON new_result);