// $Header: /home/deegree/jail/deegreerepository/deegree/src/org/deegree/ogcwebservices/getcapabilities/ServiceIdentification.java,v 1.9 2006/11/07 11:09:54 mschneider Exp $ /*---------------- FILE HEADER ------------------------------------------ This file is part of deegree. Copyright (C) 2001-2006 by: EXSE, Department of Geography, University of Bonn http://www.giub.uni-bonn.de/deegree/ lat/lon GmbH http://www.lat-lon.de 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; either version 2.1 of the License, or (at your option) any later version. 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. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact: Andreas Poth lat/lon GmbH Aennchenstr. 19 53115 Bonn Germany E-Mail: poth@lat-lon.de Prof. Dr. Klaus Greve Department of Geography University of Bonn Meckenheimer Allee 166 53115 Bonn Germany E-Mail: greve@giub.uni-bonn.de ---------------------------------------------------------------------------*/ package org.deegree.ogcwebservices.getcapabilities; import org.deegree.datatypes.Code; import org.deegree.model.metadata.iso19115.Keywords; /** * Represents the <code>ServiceIdentification</code> section of the * capabilities of an OGC compliant web service according to the * <code>OGC Common Implementation Specification 0.2</code>. This section * corresponds to and expands the SV_ServiceIdentification class in ISO 19119. * <p> * It consists of the following elements: <table border="1"> * <tr> * <th>Name</th> * <th>Occurences</th> * <th>Function</th> * </tr> * <tr> * <td>ServiceType</td> * <td align="center">1</td> * <td>Useful to provide service type name useful for machine-to-machine * communication</td> * </tr> * <tr> * <td>ServiceTypeVersion</td> * <td align="center">1-*</td> * <td>Useful to provide list of server-supported versions.</td> * </tr> * <tr> * <td>Title</td> * <td align="center">1</td> * <td>Useful to provide a server title for display to a human.</td> * </tr> * <tr> * <td>Abstract</td> * <td align="center">0|1</td> * <td>Usually useful to provide narrative description of server, useful for * display to a human.</td> * </tr> * <tr> * <td>Keywords</td> * <td align="center">0-*</td> * <td>Often useful to provide keywords useful for server searching.</td> * </tr> * <tr> * <td>Fees</td> * <td align="center">0|1</td> * <td>Usually useful to specify fees, or NONE if no fees.</td> * </tr> * <tr> * <td>AccessConstraints</td> * <td align="center">0-*</td> * <td>Usually useful to specify access constraints, or NONE if no access * constraints.</td> * </tr> * </table> * * @author <a href="mailto:mschneider@lat-lon.de">Markus Schneider </a> * @author last edited by: $Author: mschneider $ * * @version $Revision: 1.9 $ */ public class ServiceIdentification { private String name; private Code serviceType; private String[] serviceTypeVersions; private String title; private String serviceAbstract; private Keywords[] keywords; private String fees; private String[] accessConstraints; /** * Constructs a new ServiceIdentification object. * * @param serviceType * @param serviceTypeVersions * @param title * @param serviceAbstract * may be null * @param keywords * may be an empty array or null * @param fees * may be null * @param accessConstraints * may be an empty array or null */ public ServiceIdentification( String name, Code serviceType, String[] serviceTypeVersions, String title, String serviceAbstract, Keywords[] keywords, String fees, String[] accessConstraints) { this.name = name; this.serviceType = serviceType; this.serviceTypeVersions = serviceTypeVersions; this.title = title; this.serviceAbstract = serviceAbstract; this.keywords = keywords; this.fees = fees; this.accessConstraints = accessConstraints; } /** * Constructs a new ServiceIdentification object. * * @param serviceType * @param serviceTypeVersions * @param title * @param serviceAbstract * may be null * @param keywords * may be an empty array or null * @param fees * may be null * @param accessConstraints * may be an empty array or null */ public ServiceIdentification( Code serviceType, String[] serviceTypeVersions, String title, String serviceAbstract, Keywords[] keywords, String fees, String[] accessConstraints) { this.name = title; this.serviceType = serviceType; this.serviceTypeVersions = serviceTypeVersions; this.title = title; this.serviceAbstract = serviceAbstract; this.keywords = keywords; this.fees = fees; this.accessConstraints = accessConstraints; } /** * Returns the java representation of the ServiceType-element. In the XML * document, this element has the type ows:CodeType. * * @return * */ public Code getServiceType() { return serviceType; } /** * Returns the java representation of the ServiceTypeVersion-elements. In * the XML document, these elements have the type ows:VersionType. * * @return */ public String[] getServiceTypeVersions() { return serviceTypeVersions; } /** * Returns the java representation of the Title-element. In the XML * document, this element has the type string. * * @return */ public String getTitle() { return title; } /** * Returns the java representation of the Abstract-element. In the XML * document, this element has the type string. * * @return */ public String getAbstract() { return serviceAbstract; } /** * Returns the java representation of the Keywords-elements. In the XML * document, these elements have the type ows:Keyword. * * @return */ public Keywords[] getKeywords() { return keywords; } /** * Returns the java representation of the AccessConstraints-elements. In the * XML document, these elements have the type string. * * @return */ public String getFees() { return fees; } /** * Returns the java representation of the AccessConstraints-elements. In the * XML document, these elements have the type string. * * @return */ public String[] getAccessConstraints() { return accessConstraints; } /** * @return Returns the name. */ public String getName() { return name; } } /* ****************************************************************************** * $Log: ServiceIdentification.java,v $ * Revision 1.9 2006/11/07 11:09:54 mschneider * Fixed footer formatting. * * Revision 1.8 2006/08/01 11:46:07 schmitz * Added data classes for the new OWS common capabilities framework * according to the OWS 1.0.0 common specification. * Added name to service identification. * * Revision 1.7 2006/07/12 14:46:16 poth * comment footer added * * Revision 1.6 2006/04/06 20:25:25 poth * *** empty log message *** * * Revision 1.5 2006/04/04 20:39:41 poth * *** empty log message *** * * Revision 1.4 2006/03/30 21:20:25 poth * *** empty log message *** * * Revision 1.3 2005/06/08 15:13:55 poth * no message * * Revision 1.2 2005/01/18 22:08:55 poth * no message * * Revision 1.4 2004/07/12 13:03:21 mschneider * More work on the CatalogConfiguration and capabilities framework. * * Revision 1.3 2004/06/30 15:16:05 mschneider * Refactoring of XMLTools. * * Revision 1.2 2004/06/28 15:40:13 mschneider * Finished the generation of the ServiceIdentification part of the Capabilities from DOM, added functionality to the XMLTools helper class. * ***************************************************************************** */