Task #11982 (new)
OME XML model and metadata packages
|Reported by:||rleigh||Owned by:||rleigh|
ome.xml.model ome.xml.model.enums ome.xml.model.primitives ome.xml.meta
In order to support models other than XML (example: HDF5), it would be nice to decouple the model interface from the logic used for serialisation. That is, for each model object, rather than having a single class, we could have an interface, with implementations for each serialisation type (which can also have their own interfaces). This could be, for example:
ome.model.primitives ome.model.generic ome.model.xml ome.model.hdf5 ome.model.yaml etc...
So what is now (for example) ome.xml.model.Image would become (as a concrete implementation) ome.model.xml.Image, which implements the ome.model.generic.Image interface as well as the ome.model.xml.Serializable interface.
Having the enums in their own namespace doesn't really give us much, so we could look at moving them into the same namespace as the regular model objects. Is there a reason to split them out? It's certainly not a namespace pollution issue since they are guaranteed not to clash with model object names. It would certainly simplify the code generation somewhat, particularly for C++, though we already paid the cost to implement it.