001: // $HeadURL: https://svn.wald.intevation.org/svn/deegree/base/trunk/src/org/deegree/ogcwebservices/getcapabilities/ServiceIdentification.java $
002: /*---------------- FILE HEADER ------------------------------------------
003:
004: This file is part of deegree.
005: Copyright (C) 2001-2008 by:
006: EXSE, Department of Geography, University of Bonn
007: http://www.giub.uni-bonn.de/deegree/
008: lat/lon GmbH
009: http://www.lat-lon.de
010:
011: This library is free software; you can redistribute it and/or
012: modify it under the terms of the GNU Lesser General Public
013: License as published by the Free Software Foundation; either
014: version 2.1 of the License, or (at your option) any later version.
015:
016: This library is distributed in the hope that it will be useful,
017: but WITHOUT ANY WARRANTY; without even the implied warranty of
018: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
019: Lesser General Public License for more details.
020:
021: You should have received a copy of the GNU Lesser General Public
022: License along with this library; if not, write to the Free Software
023: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
024:
025: Contact:
026:
027: Andreas Poth
028: lat/lon GmbH
029: Aennchenstr. 19
030: 53115 Bonn
031: Germany
032: E-Mail: poth@lat-lon.de
033:
034: Prof. Dr. Klaus Greve
035: Department of Geography
036: University of Bonn
037: Meckenheimer Allee 166
038: 53115 Bonn
039: Germany
040: E-Mail: greve@giub.uni-bonn.de
041:
042:
043: ---------------------------------------------------------------------------*/
044: package org.deegree.ogcwebservices.getcapabilities;
045:
046: import org.deegree.datatypes.Code;
047: import org.deegree.model.metadata.iso19115.Keywords;
048:
049: /**
050: * Represents the <code>ServiceIdentification</code> section of the capabilities of an OGC
051: * compliant web service according to the <code>OGC Common Implementation Specification 0.2</code>.
052: * This section corresponds to and expands the SV_ServiceIdentification class in ISO 19119.
053: * <p>
054: * It consists of the following elements: <table border="1">
055: * <tr>
056: * <th>Name</th>
057: * <th>Occurences</th>
058: * <th>Function</th>
059: * </tr>
060: * <tr>
061: * <td>ServiceType</td>
062: * <td align="center">1</td>
063: * <td>Useful to provide service type name useful for machine-to-machine communication</td>
064: * </tr>
065: * <tr>
066: * <td>ServiceTypeVersion</td>
067: * <td align="center">1-*</td>
068: * <td>Useful to provide list of server-supported versions.</td>
069: * </tr>
070: * <tr>
071: * <td>Title</td>
072: * <td align="center">1</td>
073: * <td>Useful to provide a server title for display to a human.</td>
074: * </tr>
075: * <tr>
076: * <td>Abstract</td>
077: * <td align="center">0|1</td>
078: * <td>Usually useful to provide narrative description of server, useful for display to a human.</td>
079: * </tr>
080: * <tr>
081: * <td>Keywords</td>
082: * <td align="center">0-*</td>
083: * <td>Often useful to provide keywords useful for server searching.</td>
084: * </tr>
085: * <tr>
086: * <td>Fees</td>
087: * <td align="center">0|1</td>
088: * <td>Usually useful to specify fees, or NONE if no fees.</td>
089: * </tr>
090: * <tr>
091: * <td>AccessConstraints</td>
092: * <td align="center">0-*</td>
093: * <td>Usually useful to specify access constraints, or NONE if no access constraints.</td>
094: * </tr>
095: * </table>
096: *
097: * @author <a href="mailto:mschneider@lat-lon.de">Markus Schneider </a>
098: * @author last edited by: $Author: apoth $
099: *
100: * @version $Revision: 9345 $
101: */
102: public class ServiceIdentification {
103:
104: private String name;
105:
106: private Code serviceType;
107:
108: private String[] serviceTypeVersions;
109:
110: private String title;
111:
112: private String serviceAbstract;
113:
114: private Keywords[] keywords;
115:
116: private String fees;
117:
118: private String[] accessConstraints;
119:
120: /**
121: * Constructs a new ServiceIdentification object.
122: *
123: * @param serviceType
124: * @param serviceTypeVersions
125: * @param title
126: * @param serviceAbstract
127: * may be null
128: * @param keywords
129: * may be an empty array or null
130: * @param fees
131: * may be null
132: * @param accessConstraints
133: * may be an empty array or null
134: */
135: public ServiceIdentification(String name, Code serviceType,
136: String[] serviceTypeVersions, String title,
137: String serviceAbstract, Keywords[] keywords, String fees,
138: String[] accessConstraints) {
139: this .name = name;
140: this .serviceType = serviceType;
141: this .serviceTypeVersions = serviceTypeVersions;
142: this .title = title;
143: this .serviceAbstract = serviceAbstract;
144: this .keywords = keywords;
145: this .fees = fees;
146: this .accessConstraints = accessConstraints;
147: }
148:
149: /**
150: * Constructs a new ServiceIdentification object.
151: *
152: * @param serviceType
153: * @param serviceTypeVersions
154: * @param title
155: * @param serviceAbstract
156: * may be null
157: * @param keywords
158: * may be an empty array or null
159: * @param fees
160: * may be null
161: * @param accessConstraints
162: * may be an empty array or null
163: */
164: public ServiceIdentification(Code serviceType,
165: String[] serviceTypeVersions, String title,
166: String serviceAbstract, Keywords[] keywords, String fees,
167: String[] accessConstraints) {
168: this .name = title;
169: this .serviceType = serviceType;
170: this .serviceTypeVersions = serviceTypeVersions;
171: this .title = title;
172: this .serviceAbstract = serviceAbstract;
173: this .keywords = keywords;
174: this .fees = fees;
175: this .accessConstraints = accessConstraints;
176: }
177:
178: /**
179: * Returns the java representation of the ServiceType-element. In the XML document, this element
180: * has the type ows:CodeType.
181: *
182: * @return
183: *
184: */
185: public Code getServiceType() {
186: return serviceType;
187: }
188:
189: /**
190: * Returns the java representation of the ServiceTypeVersion-elements. In the XML document,
191: * these elements have the type ows:VersionType.
192: *
193: * @return
194: */
195: public String[] getServiceTypeVersions() {
196: return serviceTypeVersions;
197: }
198:
199: /**
200: * Returns the java representation of the Title-element. In the XML document, this element has
201: * the type string.
202: *
203: * @return
204: */
205: public String getTitle() {
206: return title;
207: }
208:
209: /**
210: * Returns the java representation of the Abstract-element. In the XML document, this element
211: * has the type string.
212: *
213: * @return
214: */
215: public String getAbstract() {
216: return serviceAbstract;
217: }
218:
219: /**
220: * Returns the java representation of the Keywords-elements. In the XML document, these elements
221: * have the type ows:Keyword.
222: *
223: * @return
224: */
225: public Keywords[] getKeywords() {
226: return keywords;
227: }
228:
229: /**
230: * Returns the java representation of the AccessConstraints-elements. In the XML document, these
231: * elements have the type string.
232: *
233: * @return
234: */
235: public String getFees() {
236: return fees;
237: }
238:
239: /**
240: * Returns the java representation of the AccessConstraints-elements. In the XML document, these
241: * elements have the type string.
242: *
243: * @return
244: */
245: public String[] getAccessConstraints() {
246: return accessConstraints;
247: }
248:
249: /**
250: * @return Returns the name.
251: */
252: public String getName() {
253: return name;
254: }
255:
256: }
257:
258: /***************************************************************************************************
259: * $Log$ Revision 1.9 2006/11/07 11:09:54 mschneider Fixed footer formatting.
260: *
261: * Revision 1.8 2006/08/01 11:46:07 schmitz Added data classes for the new OWS common capabilities
262: * framework according to the OWS 1.0.0 common specification. Added name to service identification.
263: *
264: * Revision 1.7 2006/07/12 14:46:16 poth comment footer added
265: *
266: * Revision 1.6 2006/04/06 20:25:25 poth *** empty log message ***
267: *
268: * Revision 1.5 2006/04/04 20:39:41 poth *** empty log message ***
269: *
270: * Revision 1.4 2006/03/30 21:20:25 poth *** empty log message ***
271: *
272: * Revision 1.3 2005/06/08 15:13:55 poth no message
273: *
274: * Revision 1.2 2005/01/18 22:08:55 poth no message
275: *
276: * Revision 1.4 2004/07/12 13:03:21 mschneider More work on the CatalogConfiguration and
277: * capabilities framework.
278: *
279: * Revision 1.3 2004/06/30 15:16:05 mschneider Refactoring of XMLTools.
280: *
281: * Revision 1.2 2004/06/28 15:40:13 mschneider Finished the generation of the ServiceIdentification
282: * part of the Capabilities from DOM, added functionality to the XMLTools helper class.
283: *
284: **************************************************************************************************/
|