/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2008, 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.impl; import java.util.Map; import org.geotools.data.Parameter; import org.geotools.factory.Hints; import org.opengis.feature.type.Name; /** * @author Simone Giannecchini, GeoSolutions * @author Jody Garnett * * * @source $URL: http://svn.osgeo.org/geotools/trunk/modules/unsupported/coverage-experiment/coverage-api/src/main/java/org/geotools/coverage/io/impl/CoverageRequest.java $ */ public abstract class CoverageRequest { /** * @uml.property name="name" */ private Name name; /** * @uml.property name="handle" */ private String handle; /** * @uml.property name="hints" */ private Hints hints; /** * @uml.property name="additionalParameters" */ private Map<String, Parameter<?>> additionalParameters; /** * The handle attribute is included to allow a client to associate a mnemonic name to the Query * request. The purpose of the handle attribute is to provide an error handling mechanism for * locating a statement that might fail. * * @return the mnemonic name of the query request. * @uml.property name="handle" */ public String getHandle() { return handle; } /** * @see org.geotools.coverage.io.CoverageRequest#setHandle(java.lang.String) */ public void setHandle(String handle) { this.handle = handle; } /** * Specifies some hints to drive the query execution and results build-up. * <p> * Hints examples can be the GeometryFactory to be used, a generalization distance to be applied * right in the data store, to data store specific things such as the fetch size to be used in * JDBC queries. The set of hints supported can be fetched by calling {@links * FeatureSource#getSupportedHints()} . Depending on the actual values of the hints, the data * store is free to ignore them. No mechanism is in place, at the moment, to figure out which * hints where actually used during the query execution. * * @return the Hints the data store should try to use when executing the query (eventually empty * but never null). * @uml.property name="hints" */ public Hints getHints() { return hints; } /** * @see org.geotools.coverage.io.CoverageRequest#setHints(Hints) */ public void setHints(Hints hints) { this.hints = hints; } /** * @see org.geotools.coverage.io.CoverageRequest#setAdditionalParameters(Map) */ public void setAdditionalParameters(Map<String, Parameter<?>> additionalParameters) { this.additionalParameters = additionalParameters; } /** * @see org.geotools.coverage.io.CoverageRequest#getAdditionalParameters() */ public Map<String, Parameter<?>> getAdditionalParameters() { return additionalParameters; } /** * @see org.geotools.coverage.io.CoverageRequest#getName() */ public Name getName() { return name; } /** * @see org.geotools.coverage.io.CoverageRequest#setName(org.opengis.feature.type.Name) */ public void setName(Name name) { this.name = name; } }