Package org.apache.sis.internal.jaxb.metadata


package org.apache.sis.internal.jaxb.metadata
JAXB adapters for metadata. The class defined in this package are both JAXB adapters replacing GeoAPI interfaces by SIS implementation classes at marshalling time (since JAXB cannot marshal directly interfaces), and wrappers around the value to be marshalled. ISO 19139 have the strange habit to wrap every properties in an extra level, for example: The </CI_Contact> level is not really necessary, and JAXB is not designed for inserting such level since it is not the usual way to write XML. In order to get this output with JAXB, we have to wrap metadata object in an additional object. Those additional objects are defined in this package.

So each class in this package is both a JAXB adapter and a wrapper. We have merged those functionalities in order to avoid doubling the amount of classes, which is already large.

In ISO 19139 terminology:

  • the public classes defined in the org.apache.sis.metadata.iso packages are defined as Foo_Type in ISO 19139, where Foo is the ISO name of a class.
  • the internal classes defined in this package are defined as Foo_PropertyType in ISO 19139 schemas.
Since:
1.3, 0.3
See Also: