001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/ogcwebservices/getcapabilities/Service.java $
002    package org.deegree.ogcwebservices.getcapabilities;
003    
004    import org.deegree.datatypes.CodeList;
005    import org.deegree.model.metadata.iso19115.CitedResponsibleParty;
006    import org.deegree.model.metadata.iso19115.Keywords;
007    import org.deegree.ogcbase.Description;
008    import org.deegree.ogcbase.OGCException;
009    import org.deegree.ogcwebservices.MetadataLink;
010    import org.deegree.ogcwebservices.OGCWebServiceException;
011    
012    /**
013     * @version $Revision: 6259 $
014     * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
015     * @author last edited by: $Author: bezema $
016     * 
017     * @version 1.0. $Revision: 6259 $, $Date: 2007-03-20 10:15:15 +0100 (Di, 20 Mär 2007) $
018     * 
019     * @since 2.0
020     */
021    
022    public class Service extends Description {
023    
024        private Keywords[] keywords = new Keywords[0];
025        private CitedResponsibleParty citedResponsibleParty = null;
026        private CodeList fees = null;
027        private CodeList[] accessConstraints = new CodeList[0];
028        private String version = null;
029        private String updateSequence = null;
030        
031        /**
032         * @param name
033         * @param label
034         * @param fees
035         * @param accessConstraints
036         */
037        public Service(String name, String label, CodeList fees, CodeList[] accessConstraints) 
038                       throws OGCException, OGCWebServiceException {
039            super(name, label);
040            setFees(fees);
041            this.accessConstraints = accessConstraints;
042        }
043        
044        /**
045         * @param name
046         * @param label
047         * @param description
048         * @param citedResponsibleParty
049         * @param fees
050         * @param accessConstraints
051         * @throws OGCException
052         * @throws OGCWebServiceException
053         */
054        public Service(
055            String name,
056            String label,
057            String description,        
058            CitedResponsibleParty citedResponsibleParty,
059            CodeList fees,
060            CodeList[] accessConstraints) throws OGCException, OGCWebServiceException {
061            super( name, label, description, null);
062            this.citedResponsibleParty = citedResponsibleParty;
063            setFees(fees);
064            setAccessConstraints(accessConstraints);
065        }
066    
067        /**
068         * @param description
069         * @param name
070         * @param metadataLink
071         * @param label
072         * @param keywords
073         * @param citedResponsibleParty
074         * @param fees
075         * @param accessConstraints
076         * @param version
077         * @param updateSequence
078         */
079        public Service(
080            String description,
081            String name,
082            MetadataLink metadataLink,
083            String label,
084            Keywords[] keywords,
085            CitedResponsibleParty citedResponsibleParty,
086            CodeList fees,
087            CodeList[] accessConstraints,
088            String version,
089            String updateSequence) throws OGCException, OGCWebServiceException  {
090            super(name, label, description, metadataLink);
091            setKeywords(keywords);
092            this.citedResponsibleParty = citedResponsibleParty;
093            setFees(fees);
094            setAccessConstraints(accessConstraints);
095            this.version = version;
096            this.updateSequence = updateSequence;
097        }
098    
099        /**
100         * @return Returns the accessConstraints.
101         * 
102         */
103        public CodeList[] getAccessConstraints() {
104            return accessConstraints;
105        }
106    
107        /**
108         * @param accessConstraints The accessConstraints to set.
109         * 
110         */
111        public void setAccessConstraints(CodeList[] accessConstraints) {
112            if (accessConstraints == null) {
113                accessConstraints = new CodeList[0];
114            }
115            this.accessConstraints = accessConstraints;
116        }
117    
118        /**
119         * @return Returns the citedResponsibleParty.
120         * 
121         */
122        public CitedResponsibleParty getCitedResponsibleParty() {
123            return citedResponsibleParty;
124        }
125    
126        /**
127         * @param citedResponsibleParty The citedResponsibleParty to set.
128         * 
129         */
130        public void setCitedResponsibleParty(
131            CitedResponsibleParty citedResponsibleParty) {
132            this.citedResponsibleParty = citedResponsibleParty;
133        }
134    
135        /**
136         * @return Returns the fees.
137         * 
138         */
139        public CodeList getFees() {
140            return fees;
141        }
142    
143        /**
144         * @param fees The fees to set.
145         * 
146         */
147        public void setFees(CodeList fees) throws OGCWebServiceException {
148            if (fees == null) {
149                throw new OGCWebServiceException("fees must be <> null for Service");
150            }
151            this.fees = fees;
152        }
153    
154        /**
155         * @return Returns the keywords.
156         * 
157         */
158        public Keywords[] getKeywords() {
159            return keywords;
160        }
161    
162        /**
163         * @param keywords The keywords to set.
164         * 
165         */
166        public void setKeywords(Keywords[] keywords) {
167            if (keywords == null) {
168                keywords = new Keywords[0];
169            }
170            this.keywords = keywords;
171        }
172    
173        /**
174         * @return Returns the updateSequence.
175         * 
176         */
177        public String getUpdateSequence() {
178            return updateSequence;
179        }
180    
181        /**
182         * @param updateSequence The updateSequence to set.
183         * 
184         */
185        public void setUpdateSequence(String updateSequence) {
186            this.updateSequence = updateSequence;
187        }
188    
189        /**
190         * @return Returns the version.
191         * 
192         */
193        public String getVersion() {
194            return version;
195        }
196    
197        /**
198         * @param version The version to set.
199         * 
200         */
201        public void setVersion(String version) {
202            this.version = version;
203        }
204    
205    }
206    /* ********************************************************************
207       Changes to this class. What the people have been up to:
208       $Log$
209       Revision 1.3  2005/04/20 20:36:09  poth
210       no message
211    
212       Revision 1.2  2005/01/18 22:08:55  poth
213       no message
214    
215       Revision 1.5  2004/07/12 06:12:11  ap
216       no message
217    
218       Revision 1.4  2004/06/28 06:27:05  ap
219       no message
220    
221       Revision 1.3  2004/06/21 06:44:57  ap
222       no message
223    
224       Revision 1.2  2004/05/25 07:19:13  ap
225       no message
226    
227       Revision 1.1  2004/05/24 06:54:38  ap
228       no message
229    
230    
231    ********************************************************************** */