Re: public void setParentSBML(SBase parent)
18 Dec '09 07:10
>> Andreas Draeger wrote:
>>> Hi all,
>>> The methos setParentSBML in SBase and AbstractSBase can lead to a
>>> destroyed SBML data structure. In previous versions the attribute
>>> parentSBMLObject had the default modifier. This ensured that only
>>> classes within the jsbml package were able to access this attribute and
>>> to change its value. This way pointers could not be set to objects that
>>> aren't actually the parent node in the SBML hierarchy. Having this
>>> method set to public allows also other objects from the outside to
>>> destroy the model and to create incorrect and invalid SBML. I'd like to
>>> set the modifier to the default value again.
>> I thing, you would have to put it protected at least but I thing the
>> problem is that the classes from Marine parser are using it may be.
>> And classes that extends the basic elements for a level 3 package might
>> want to use it.
>> Create a tracker item may be ?
> I don't use setParentSBML directly in the parser and if I did, it was a
> mistake as I created a method setThisAsParentSBMLObject(AbstractSBase
> sbase) which automatically set the current object instance as parentSBML
> object of 'sbase'. This method also set the level and version of 'sbase'
> if it is not set or check if the level and version of 'sbase' are the same
> as those of this object.
So people can use your setThisAsParentSBMLObject(AbstractSBase) to mess
up with the SBML hierarchy the same way as with setParentSBML ?
> I agree with Nico, it is better that these methods are protected and not
> private. Moreover, we should not forget that the SBMLDocument and data
> structure can change as several packages can add other elements. I agree
> we should be careful when we set the parentSBML object but we need to be
> flexible too for the package extensions.
>> To manage your jsbml-development list subscription, visit
>> For a web interface to the jsbml-development mailing list, visit
>> For questions or feedback about the jsbml-development list,
>> contact firstname.lastname@example.org
> To manage your jsbml-development list subscription, visit
> For a web interface to the jsbml-development mailing list, visit
> For questions or feedback about the jsbml-development list,
> contact email@example.com
To manage your jsbml-development list subscription, visit
For a web interface to the jsbml-development mailing list, visit
For questions or feedback about the jsbml-development list,
Powered by FUDforum. (Copyright Advanced Internet Designs Inc.)