Quintiq file version 2.0
|
#parent: #root
|
Method GetObjectsFromNVT (NamedValueTree nvt_i) as owning LibDMF_SetObjects
|
{
|
Description: 'Get the instances of (the subtypes of) SetObject from the NVT.'
|
TextBody:
|
[*
|
objects := construct( LibDMF_SetObjects );
|
objectType := this.GetTypeOfSetObject();
|
|
batchBody := LibInt_NvtAccessor::FirstChildNamed( nvt_i, nvt_i.Root(), 'Body' );
|
|
traverse( batchBody.Children(), Elements, child )
|
{
|
childBody := LibInt_NvtAccessor::FirstChildNamed( nvt_i, child, 'Body' );
|
children := childBody.Children();
|
|
if( children.Size() > 0 )
|
{
|
objectNode := children.Element( 0 );
|
|
object := NamedValueTreeIO::ImportObject( nvt_i, objectNode, objectType ).astype( LibDMF_SetObject );
|
|
objects.Add( object );
|
|
// The object must also be added to an owning relation, otherwise it cannot be referenced outside of this method.
|
this.AddSetObject( &object );
|
}
|
}
|
|
return &objects;
|
*]
|
}
|