/*
* Geotoolkit - An Open Source Java GIS Toolkit
* http://www.geotoolkit.org
*
* (C) 2008 - 2009, 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; either
* version 2.1 of the License, or (at your option) any later version.
*
* 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.
*/
package org.geotoolkit.wcs.xml.v111;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import org.geotoolkit.ows.xml.v110.DescriptionType;
import org.geotoolkit.ows.xml.v110.DomainMetadataType;
import org.geotoolkit.ows.xml.v110.KeywordsType;
import org.geotoolkit.ows.xml.v110.LanguageStringType;
import org.geotoolkit.ows.xml.v110.MetadataType;
/**
* This type is largely a subset of the ows:DomainType as needed for a range field axis.
*
* <p>Java class for AxisType complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="AxisType">
* <complexContent>
* <extension base="{http://www.opengis.net/ows/1.1}DescriptionType">
* <sequence>
* <element ref="{http://www.opengis.net/wcs}AvailableKeys"/>
* <element ref="{http://www.opengis.net/ows/1.1}Meaning" minOccurs="0"/>
* <element ref="{http://www.opengis.net/ows/1.1}DataType" minOccurs="0"/>
* <group ref="{http://www.opengis.net/ows/1.1}ValuesUnit" minOccurs="0"/>
* <element ref="{http://www.opengis.net/ows/1.1}Metadata" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* <attribute name="identifier" use="required" type="{http://www.opengis.net/wcs}IdentifierType" />
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
* @module
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AxisType", propOrder = {
"availableKeys",
"meaning",
"dataType",
"uom",
"referenceSystem",
"metadata"
})
public class AxisType extends DescriptionType {
@XmlElement(name = "AvailableKeys", required = true)
private AvailableKeys availableKeys;
@XmlElement(name = "Meaning", namespace = "http://www.opengis.net/ows/1.1")
private DomainMetadataType meaning;
@XmlElement(name = "DataType", namespace = "http://www.opengis.net/ows/1.1")
private DomainMetadataType dataType;
@XmlElement(name = "UOM", namespace = "http://www.opengis.net/ows/1.1")
private DomainMetadataType uom;
@XmlElement(name = "ReferenceSystem", namespace = "http://www.opengis.net/ows/1.1")
private DomainMetadataType referenceSystem;
@XmlElement(name = "Metadata", namespace = "http://www.opengis.net/ows/1.1")
private List<MetadataType> metadata = new ArrayList<MetadataType>();
@XmlAttribute(required = true)
private String identifier;
/**
* empty constructor used JAXB
*/
AxisType() {
super();
}
/**
* Build a new Axis
*/
public AxisType(final List<LanguageStringType> title, final List<LanguageStringType> _abstract,
final List<KeywordsType> keywords, final AvailableKeys availableKeys, final DomainMetadataType meaning, final DomainMetadataType dataType,
final DomainMetadataType uom, final DomainMetadataType referenceSystem, final List<MetadataType> metadata, final String identifier ) {
super(title, _abstract, keywords);
this.availableKeys = availableKeys;
this.dataType = dataType;
this.identifier = identifier;
this.meaning = meaning;
this.metadata = metadata;
this.referenceSystem = referenceSystem;
this.uom = uom;
}
/**
* Gets the value of the availableKeys property.
*/
public AvailableKeys getAvailableKeys() {
return availableKeys;
}
/**
* Meaning metadata, which should be referenced for this axis.
*/
public DomainMetadataType getMeaning() {
return meaning;
}
/**
* Data type metadata, which may be referenced for this axis.
*/
public DomainMetadataType getDataType() {
return dataType;
}
/**
* Identifier of unit of measure of this set of values. Should be included then this set of values has units (and not a more complete reference system).
*/
public DomainMetadataType getUOM() {
return uom;
}
/**
* Identifier of reference system used by this set of values. Should be included then this set of values has a reference system (not just units).
*
*/
public DomainMetadataType getReferenceSystem() {
return referenceSystem;
}
/**
* Optional unordered list of other metadata elements about this axis. A list of required and optional other metadata elements for this quantity can be specified in a WCS Application Profile. Gets the value of the metadata property.
*/
public List<MetadataType> getMetadata() {
return Collections.unmodifiableList(this.metadata);
}
/**
* Gets the value of the identifier property.
*/
public String getIdentifier() {
return identifier;
}
}