/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.catalog; import java.io.IOException; import org.geotools.data.wms.WebMapServer; import org.opengis.util.ProgressListener; /** * A store backed by a {@link WebMapServer}, allows for WMS cascading * * @author Andrea Aime - OpenGeo * */ public interface WMSStoreInfo extends StoreInfo { /** * Returns the underlying {@link WebMapServer} * <p> * This method does I/O and is potentially blocking. The <tt>listener</tt> may be used to report * the progress of loading the datastore and also to report any errors or warnings that occur. * </p> * * @param listener * A progress listener, may be <code>null</code>. * * @return The datastore. * * @throws IOException * Any I/O problems. */ WebMapServer getWebMapServer(ProgressListener listener) throws IOException; /** * The capabilities url */ String getCapabilitiesURL(); /** * Sets the web map server capabilities url. * * @uml.property name="url" */ void setCapabilitiesURL(String url); String getUsername(); void setUsername(String user); String getPassword(); void setPassword(String password); /** * @return Upper limit on the number of http connections the store should hold in the pool if * {@link #isUseConnectionPooling()} is {@code true}. */ int getMaxConnections(); void setMaxConnections(int maxConcurrentConnections); /** * @return number of seconds to wait on read before time out, defaults to 60 */ int getReadTimeout(); /** * @param timeoutSeconds * seconds to wait before timing out a read request */ void setReadTimeout(int timeoutSeconds); /** * @return seconds to wait for connect requests before timing out, defaults to 30 */ int getConnectTimeout(); /** * @param seconds * to wait for connect requests before timing out */ void setConnectTimeout(int timeoutSeconds); /** * @return {@code true} (default) if the store shall use an http connection managed that pools * connections, {@code false} otherwise. * @see #getMaxConnections() */ public boolean isUseConnectionPooling(); /** * @param useHttpConnectionPooling * {@code true} if the store shall use an http connection managed that pools * connections, {@code false} otherwise. * @see #setMaxConnections(int) */ public void setUseConnectionPooling(boolean useHttpConnectionPooling); }