Constructors in extension elements
10 Apr '12 03:12
Is there already a general rule which constructors are required when
implementing extension elements?
It seems there should there always be an empty constructor and one that
takes the usual arguments Level and Version. But how about the package
How about more convenient constructors that take some arguments to
initialize the data structure?
Should constructors of package elements throw an exception when trying
to initialize them with Level Version combinations before 3.1 (but with
a defined LV, i.e., other than -1.-1)?
At the moment it seems there are very diverse solutions in the packages
that have already been implemented. Since we already have such a very
nice tutorial that explains how to implement extension packages, we
should also fix some rules about constructors.
Finally, I would like to ask why we decided that the interface
SBasePlugin does not extend the interface TreeNodeWithChangeSupport and
why the abstract class AbstractSBasePlugin does not extend
AbstractTreeNode. I understand that extensions to some SBase are not a
separate TreeNode, but since the getChildAt(int) method simply excludes
extension elements anyway (but not their children), we could avoid a
duplication of code by making AbstractSBasePlugin a derivative of
AbstractTreeNode (all other methods seem to be simimilar).
In this way, it would also become possible to maintain userObjects
within instances of SBasePlugin, which is not possible at the moment (it
would again require a duplication of code).
Dr. Andreas Dräger
University of Tuebingen
Center for Bioinformatics Tuebingen (ZBIT)
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.)