| Quintiq file version 2.0 | 
| #parent: #root | 
| Method ParseExtensionTypeQuery (JSON jsondata) | 
| { | 
|   TextBody: | 
|   [* | 
|     results := guard( jsondata.Get( 'results' ), null( JSON, owning ) ); | 
|      | 
|     if( guard( results.IsArray(), false ) ) | 
|     { | 
|       for( i := 0; i < results.Size(); i++ ) | 
|       { | 
|         result := results.Get( i ); | 
|          | 
|         if( not isnull( result ) ) | 
|         { | 
|           for( j := 0; j < result.Size(); j++ ) | 
|           { | 
|             key := result.GetProperty( j ); | 
|             if( key.Wildcard( 'interface[*].name' ) or key.Wildcard( 'interface[*].allparents' ) ) | 
|             { | 
|               start := key.FindString( '[', 0 ) + 1; | 
|               end := key.FindString( ']', 0 ); | 
|               count := end - start; | 
|               extensionname := key.SubString( start, count ); | 
|                | 
|               extensiontype := Lib3DS_ExtensionType::FindOrCreate( this, extensionname ); | 
|               if( key.EndsWith( 'allparents' ) ) | 
|               { | 
|                 allparents := result.Get( key ); | 
|                  | 
|                 if( allparents.IsString() ) | 
|                 { | 
|                   parentname := allparents.GetString(); | 
|                   extensiontype.ParentName( parentname ); | 
|                   extensiontype := Lib3DS_ExtensionType::FindOrCreate( this, parentname ); | 
|                 } | 
|                 else if( allparents.IsArray() ) | 
|                 { | 
|                   for( k := 0; k < allparents.Size(); k++ ) | 
|                   { | 
|                     parentname := allparents.Get( k ).GetString(); | 
|                     extensiontype.ParentName( parentname ); | 
|                     extensiontype := Lib3DS_ExtensionType::FindOrCreate( this, parentname ); | 
|                   } | 
|                 } | 
|               } | 
|             } | 
|           } | 
|         } | 
|       } | 
|     } | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |