/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2005-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.data; import java.net.URI; import java.util.Set; /** * Information about a service. * <p> * You can treat this bean as a "summary view" on more complete metadata information * that may be accessible as header or table information. * </p> * <p> * The names used in this class have been taken from Dublin Code * and it's application profile for RDF. * </p> * * @author Jody Garnett, Refractions Research * @author David Zwiers, Refractions Research * @author Justin Deoliveira, The Open Planning Project * @since 2.5 * * * @source $URL$ */ public interface ServiceInfo { /** * Human readable title representing the service. * <p> * The title is used to represent the service in the context * of a user interface and should make use of the current Locale * if possible. * </p> * @return title, null if unsupported. */ String getTitle(); /** * Keywords associated with this service. * <p> * Maps to the Dublin Core Subject element. * @return keywords associated with this service. */ Set<String> getKeywords(); /** * Human readable description of this service. *<p> * This use is understood to be in agreement with "dublin-core", * implementors may use either abstract or description as needed. * <p> * <ul> * <li>Dublin Core: * <quote> * A textual description of the content of the resource, including * abstracts in the case of document-like objects or content * descriptions in the case of visual resources. * </quote> * When providing actual dublin-core metadata you can gather up * all the description information into a single string for * searching. * </li> * <li>WMS: abstract</li> * <li>WFS: abstract</li> * <li>shapefile shp.xml information</li> * </ul> * * @return Human readable description, may be null. */ String getDescription(); /** * Party responsible for providing this service. * <p> * Known mappings: * <ul> * <li>WMS contact info * <li>File formats may wish to use the current user, or the last user to modify the file * </ul> * @return URI identifying the publisher of this service */ URI getPublisher(); /** * A URI used to identify the service type. * <p> * Maps to the Dublin Code Format element. * <p> * <ul> * <li>Service type for open web services * <li>File format or extension for on disk files * <li>XML schema namespace for this service type. * </ul> * <p> * @return URI used to identify service type */ URI getSchema(); /** * Returns the service source. * <p> * Maps to the Dublin Core Server Element. * <p> * <ul> * <li>Open web services can use the online resource of their capabilies document * <li>File formats may wish to use their parent directory * </ul> * <p> * @return Source of this service */ URI getSource(); }