All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.geotoolkit.internal.jaxb.metadata.package-info Maven / Gradle / Ivy

Go to download

Implementations of metadata derived from ISO 19115. This module provides both an implementation of the metadata interfaces defined in GeoAPI, and a framework for handling those metadata through Java reflection.

The newest version!
/*
 *    Geotoolkit.org - An Open Source Java GIS Toolkit
 *    http://www.geotoolkit.org
 *
 *    (C) 2008-2012, Open Source Geospatial Foundation (OSGeo)
 *    (C) 2009-2012, Geomatys
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation;
 *    version 2.1 of the License.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 */

/**
 * JAXB adapters for metadata. The class defined in this package are both JAXB adapters
 * replacing GeoAPI interfaces by Geotk implementation classes at marshalling time (since
 * JAXB can not marshall 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:
 *
 * {@preformat xml
 *   
 *     
 *       
 *         ...
 *       
 *     
 *   
 * }
 *
 * The {@code } 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 {@code org.geotoolkit.metadata.iso} packages are defined * as {@code Foo_Type} in ISO 19139, where Foo is the ISO name of a class.
  • *
  • the internal classes defined in this package are defined as {@code Foo_PropertyType} in * ISO 19139 schemas.
  • *
* * @author Cédric Briançon (Geomatys) * @author Martin Desruisseaux (Geomatys) * @version 3.18 * * @see javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter * * @since 2.5 * @module */ @XmlSchema(elementFormDefault = XmlNsForm.QUALIFIED, namespace = Namespaces.GMD, xmlns = { @XmlNs(prefix = "gmd", namespaceURI = Namespaces.GMD), @XmlNs(prefix = "gco", namespaceURI = Namespaces.GCO), @XmlNs(prefix = "xsi", namespaceURI = Namespaces.XSI), @XmlNs(prefix = "fra", namespaceURI = Namespaces.FRA) }) @XmlAccessorType(XmlAccessType.NONE) package org.geotoolkit.internal.jaxb.metadata; import javax.xml.bind.annotation.XmlNs; import javax.xml.bind.annotation.XmlNsForm; import javax.xml.bind.annotation.XmlSchema; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import org.geotoolkit.xml.Namespaces;




© 2015 - 2025 Weber Informatics LLC | Privacy Policy