/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2002-2011, 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.coverage.io; import java.io.IOException; import java.util.List; import org.geotools.coverage.grid.io.DimensionDescriptor; import org.geotools.coverage.io.CoverageSource.AdditionalDomain; import org.geotools.coverage.io.CoverageSource.SpatialDomain; import org.geotools.coverage.io.CoverageSource.TemporalDomain; import org.geotools.coverage.io.CoverageSource.VerticalDomain; import org.geotools.coverage.io.range.RangeType; /** * Describes a {@link CoverageSource} in terms of Name, {@link SpatialDomain}, {@link VerticalDomain}, {@link TemporalDomain}, * {@link AdditionalDomain}s, {@link DimensionDescriptor}s */ public class CoverageSourceDescriptor { private boolean hasTemporalDomain = false; private boolean hasVerticalDomain = false; private boolean hasAdditionalDomains = false; private String name; /** range type of the wrapped coverage source */ private RangeType rangeType; /** spatial domain of the wrapped coverage source */ private SpatialDomain spatialDomain; /** temporal domain of the wrapped coverage source */ private TemporalDomain temporalDomain; /** vertical domain of the wrapped coverage source */ private VerticalDomain verticalDomain; /** additional domains of the wrapped coverage source */ private List<AdditionalDomain> additionalDomains; private List<DimensionDescriptor> dimensionDescriptors; public String getName() { return name; } protected void setName(String varName) { this.name = varName; } public RangeType getRangeType() { return rangeType; } public SpatialDomain getSpatialDomain() { return spatialDomain; } public TemporalDomain getTemporalDomain() { return temporalDomain; } public VerticalDomain getVerticalDomain() { return verticalDomain; } public boolean isHasTemporalDomain() { return hasTemporalDomain; } public boolean isHasVerticalDomain() { return hasVerticalDomain; } protected void setHasTemporalDomain(boolean hasTemporalDomain) { this.hasTemporalDomain = hasTemporalDomain; } protected void setHasVerticalDomain(boolean hasVerticalDomain) { this.hasVerticalDomain = hasVerticalDomain; } public boolean isHasAdditionalDomains() { return hasAdditionalDomains; } public void setHasAdditionalDomains(boolean hasAdditionalDomains) { this.hasAdditionalDomains = hasAdditionalDomains; } protected void setRangeType(RangeType rangeType) { this.rangeType = rangeType; } protected void setSpatialDomain(SpatialDomain spatialDomain) { this.spatialDomain = spatialDomain; } protected void setTemporalDomain(TemporalDomain temporalDomain) { this.temporalDomain = temporalDomain; } protected void setVerticalDomain(VerticalDomain verticalDomain) { this.verticalDomain = verticalDomain; } public List<AdditionalDomain> getAdditionalDomains() { return additionalDomains; } public void setAdditionalDomains(List<AdditionalDomain> additionalDomains) { this.additionalDomains = additionalDomains; } public List<DimensionDescriptor> getDimensionDescriptors() throws IOException { return dimensionDescriptors; } public void setDimensionDescriptors(List<DimensionDescriptor> dimensionDescriptors) { this.dimensionDescriptors = dimensionDescriptors; } /** * */ public void dispose() { // default impl, do nothing } }