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' }
|
}
|