/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2013 - 2016, Open Source Geospatial Foundation (OSGeo) * * 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. */ package org.geotools.gce.imagemosaic.catalog.index; import java.io.File; import java.util.ArrayList; 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.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; import javax.xml.bind.annotation.XmlType; import org.geotools.gce.imagemosaic.Utils; /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="schemas" type="{}schemasType" minOccurs="0"/> * <element name="domains" type="{}domainsType" minOccurs="0"/> * <element name="coverages" minOccurs="0"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="coverage" maxOccurs="unbounded"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="schema" type="{}schemaType"/> * <element name="origName" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="domains" type="{}domainsType"/> * <choice> * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="nameCollector" type="{http://www.w3.org/2001/XMLSchema}string"/> * </choice> * </sequence> * </restriction> * </complexContent> * </complexType> * </element> * </sequence> * </restriction> * </complexContent> * </complexType> * </element> * <element name="datastore"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence minOccurs="0"> * <element name="database" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="parameters" type="{}parametersType" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </element> * <element name="collectors" minOccurs="0"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="collector" maxOccurs="unbounded" minOccurs="0"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="spi" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="mapped" type="{http://www.w3.org/2001/XMLSchema}string"/> * </sequence> * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> * </element> * </sequence> * </restriction> * </complexContent> * </complexType> * </element> * <element name="parameters" type="{}parametersType" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "schemas", "domains", "coverages", "multipleBandsDimensions", "datastore", "collectors", "parameters" }) @XmlRootElement(name = "Indexer") public class Indexer { protected SchemasType schemas; protected DomainsType domains; protected Indexer.Coverages coverages; protected Indexer.MultipleBandsDimensions multipleBandsDimensions; @XmlElement(required = true) protected Indexer.Datastore datastore; protected Indexer.Collectors collectors; protected ParametersType parameters; @XmlTransient private File indexerFile; /** * Gets the value of the schemas property. * * @return possible object is {@link SchemasType } * */ public SchemasType getSchemas() { return schemas; } /** * Sets the value of the schemas property. * * @param value allowed object is {@link SchemasType } * */ public void setSchemas(SchemasType value) { this.schemas = value; } /** * Gets the value of the domains property. * * @return possible object is {@link DomainsType } * */ public DomainsType getDomains() { return domains; } /** * Sets the value of the domains property. * * @param value allowed object is {@link DomainsType } * */ public void setDomains(DomainsType value) { this.domains = value; } /** * Gets the value of the coverages property. * * @return possible object is {@link Indexer.Coverages } * */ public Indexer.Coverages getCoverages() { return coverages; } /** * Sets the value of the coverages property. * * @param value allowed object is {@link Indexer.Coverages } * */ public void setCoverages(Indexer.Coverages value) { this.coverages = value; } /** * Gets the value of the multipleBandsDimensions property. * * @return * possible object is * {@link Indexer.MultipleBandsDimensions } * */ public Indexer.MultipleBandsDimensions getMultipleBandsDimensions() { return multipleBandsDimensions; } /** * Sets the value of the multipleBandsDimensions property. * * @param value * allowed object is * {@link Indexer.MultipleBandsDimensions } * */ public void setMultipleBandsDimensions(Indexer.MultipleBandsDimensions value) { this.multipleBandsDimensions = value; } /** * Gets the value of the datastore property. * * @return possible object is {@link Indexer.Datastore } * */ public Indexer.Datastore getDatastore() { return datastore; } /** * Sets the value of the datastore property. * * @param value allowed object is {@link Indexer.Datastore } * */ public void setDatastore(Indexer.Datastore value) { this.datastore = value; } /** * Gets the value of the collectors property. * * @return possible object is {@link Indexer.Collectors } * */ public Indexer.Collectors getCollectors() { return collectors; } /** * Sets the value of the collectors property. * * @param value allowed object is {@link Indexer.Collectors } * */ public void setCollectors(Indexer.Collectors value) { this.collectors = value; } /** * Gets the value of the parameters property. * * @return possible object is {@link ParametersType } * */ public ParametersType getParameters() { return parameters; } /** * Sets the value of the parameters property. * * @param value allowed object is {@link ParametersType } * */ public void setParameters(ParametersType value) { this.parameters = value; } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="collector" maxOccurs="unbounded" minOccurs="0"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="spi" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="mapped" type="{http://www.w3.org/2001/XMLSchema}string"/> * </sequence> * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> * </element> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "collector" }) public static class Collectors { protected List<Indexer.Collectors.Collector> collector; /** * Gets the value of the collector property. * * <p> * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be * present inside the JAXB object. This is why there is not a <CODE>set</CODE> method for the collector property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getCollector().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list {@link Indexer.Collectors.Collector } * * */ public List<Indexer.Collectors.Collector> getCollector() { if (collector == null) { collector = new ArrayList<Indexer.Collectors.Collector>(); } return this.collector; } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="spi" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="mapped" type="{http://www.w3.org/2001/XMLSchema}string"/> * </sequence> * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "spi", "type", "value", "mapped" }) public static class Collector { @XmlElement(required = true) protected String spi; @XmlElement(required = true) protected String type; @XmlElement(required = true) protected String value; @XmlElement(required = true) protected String mapped; @XmlAttribute(required = true) protected String name; /** * Gets the value of the spi property. * * @return possible object is {@link String } * */ public String getSpi() { return spi; } /** * Sets the value of the spi property. * * @param value allowed object is {@link String } * */ public void setSpi(String value) { this.spi = value; } /** * Gets the value of the type property. * * @return possible object is {@link String } * */ public String getType() { return type; } /** * Sets the value of the type property. * * @param value allowed object is {@link String } * */ public void setType(String value) { this.type = value; } /** * Gets the value of the value property. * * @return possible object is {@link String } * */ public String getValue() { return value; } /** * Sets the value of the value property. * * @param value allowed object is {@link String } * */ public void setValue(String value) { this.value = value; } /** * Gets the value of the mapped property. * * @return possible object is {@link String } * */ public String getMapped() { return mapped; } /** * Sets the value of the mapped property. * * @param value allowed object is {@link String } * */ public void setMapped(String value) { this.mapped = value; } /** * Gets the value of the name property. * * @return possible object is {@link String } * */ public String getName() { return name; } /** * Sets the value of the name property. * * @param value allowed object is {@link String } * */ public void setName(String value) { this.name = value; } } } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="coverage" maxOccurs="unbounded"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="schema" type="{}schemaType"/> * <element name="origName" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="domains" type="{}domainsType"/> * <choice> * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="nameCollector" type="{http://www.w3.org/2001/XMLSchema}string"/> * </choice> * </sequence> * </restriction> * </complexContent> * </complexType> * </element> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "coverage" }) public static class Coverages { @XmlElement(required = true) protected List<Indexer.Coverages.Coverage> coverage; /** * Gets the value of the coverage property. * * <p> * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be * present inside the JAXB object. This is why there is not a <CODE>set</CODE> method for the coverage property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getCoverage().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list {@link Indexer.Coverages.Coverage } * * */ public List<Indexer.Coverages.Coverage> getCoverage() { if (coverage == null) { coverage = new ArrayList<Indexer.Coverages.Coverage>(); } return this.coverage; } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="schema" type="{}schemaType"/> * <element name="origName" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="domains" type="{}domainsType"/> * <choice> * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="nameCollector" type="{http://www.w3.org/2001/XMLSchema}string"/> * </choice> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "schema", "origName", "domains", "name", "nameCollector" }) public static class Coverage { @XmlElement(required = true) protected SchemaType schema; @XmlElement(required = true) protected String origName; @XmlElement(required = true) protected DomainsType domains; protected String name; protected String nameCollector; /** * Gets the value of the schema property. * * @return possible object is {@link SchemaType } * */ public SchemaType getSchema() { return schema; } /** * Sets the value of the schema property. * * @param value allowed object is {@link SchemaType } * */ public void setSchema(SchemaType value) { this.schema = value; } /** * Gets the value of the origName property. * * @return possible object is {@link String } * */ public String getOrigName() { return origName; } /** * Sets the value of the origName property. * * @param value allowed object is {@link String } * */ public void setOrigName(String value) { this.origName = value; } /** * Gets the value of the domains property. * * @return possible object is {@link DomainsType } * */ public DomainsType getDomains() { return domains; } /** * Sets the value of the domains property. * * @param value allowed object is {@link DomainsType } * */ public void setDomains(DomainsType value) { this.domains = value; } /** * Gets the value of the name property. * * @return possible object is {@link String } * */ public String getName() { return name; } /** * Sets the value of the name property. * * @param value allowed object is {@link String } * */ public void setName(String value) { this.name = value; } /** * Gets the value of the nameCollector property. * * @return possible object is {@link String } * */ public String getNameCollector() { return nameCollector; } /** * Sets the value of the nameCollector property. * * @param value allowed object is {@link String } * */ public void setNameCollector(String value) { this.nameCollector = value; } } } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence minOccurs="0"> * <element name="database" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="parameters" type="{}parametersType" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "database", "parameters" }) public static class Datastore { protected String database; protected ParametersType parameters; /** * Gets the value of the database property. * * @return possible object is {@link String } * */ public String getDatabase() { return database; } /** * Sets the value of the database property. * * @param value allowed object is {@link String } * */ public void setDatabase(String value) { this.database = value; } /** * Gets the value of the parameters property. * * @return possible object is {@link ParametersType } * */ public ParametersType getParameters() { return parameters; } /** * Sets the value of the parameters property. * * @param value allowed object is {@link ParametersType } * */ public void setParameters(ParametersType value) { this.parameters = value; } } public File getIndexerFile() { return indexerFile; } public void setIndexerFile(File indexerFile) { this.indexerFile = indexerFile; } /** * <p>Java class for anonymous complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="multipleBandsDimension" maxOccurs="unbounded"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="bandsNames" type="{http://www.w3.org/2001/XMLSchema}string"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </element> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "multipleBandsDimension" }) public static class MultipleBandsDimensions { @XmlElement(required = true) protected List<Indexer.MultipleBandsDimensions.MultipleBandsDimension> multipleBandsDimension; /** * Gets the value of the multipleBandsDimension property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a <CODE>set</CODE> method for the multipleBandsDimension property. * * <p> * For example, to add a new item, do as follows: * <pre> * getMultipleBandsDimension().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link Indexer.MultipleBandsDimensions.MultipleBandsDimension } * * */ public List<Indexer.MultipleBandsDimensions.MultipleBandsDimension> getMultipleBandsDimension() { if (multipleBandsDimension == null) { multipleBandsDimension = new ArrayList<Indexer.MultipleBandsDimensions.MultipleBandsDimension>(); } return this.multipleBandsDimension; } /** * <p>Java class for anonymous complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="bandsNames" type="{http://www.w3.org/2001/XMLSchema}string"/> * </sequence> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "name", "bandsNames" }) public static class MultipleBandsDimension { @XmlElement(required = true) protected String name; @XmlElement(required = true) protected String bandsNames; /** * Gets the value of the name property. * * @return * possible object is * {@link String } * */ public String getName() { return name; } /** * Sets the value of the name property. * * @param value * allowed object is * {@link String } * */ public void setName(String value) { this.name = value; } /** * Gets the value of the bandsNames property. * * @return * possible object is * {@link String } * */ public String getBandsNames() { return bandsNames; } /** * Sets the value of the bandsNames property. * * @param value * allowed object is * {@link String } * */ public void setBandsNames(String value) { this.bandsNames = value; } } } }