001    // $HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/branches/2.2_testing/src/org/deegree/ogcwebservices/MetadataLink.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;
045    
046    import java.net.URI;
047    import java.net.URL;
048    
049    /**
050     * @version $Revision: 9345 $
051     * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
052     * @author last edited by: $Author: apoth $
053     * 
054     * @version 1.0. $Revision: 9345 $, $Date: 2007-12-27 17:22:25 +0100 (Do, 27 Dez 2007) $
055     * 
056     * @since 2.0
057     */
058    
059    public class MetadataLink implements Cloneable {
060        private URL reference = null;
061    
062        private String title = null;
063    
064        private URI about = null;
065    
066        private MetadataType metadataType = null;
067    
068        /**
069         * @param reference
070         * @param title
071         * @param about
072         * @param metadataType
073         */
074        public MetadataLink( URL reference, String title, URI about, MetadataType metadataType ) {
075            this.reference = reference;
076            this.title = title;
077            this.about = about;
078            this.metadataType = metadataType;
079        }
080    
081        /**
082         * @return Returns the about.
083         * 
084         */
085        public URI getAbout() {
086            return about;
087        }
088    
089        /**
090         * @param about
091         *            The about to set.
092         * 
093         */
094        public void setAbout( URI about ) {
095            this.about = about;
096        }
097    
098        /**
099         * @return Returns the metadataType.
100         * 
101         */
102        public MetadataType getMetadataType() {
103            return metadataType;
104        }
105    
106        /**
107         * @param metadataType
108         *            The metadataType to set.
109         */
110        public void setMetadataType( MetadataType metadataType ) {
111            this.metadataType = metadataType;
112        }
113    
114        /**
115         * @return Returns the reference.
116         * 
117         */
118        public URL getReference() {
119            return reference;
120        }
121    
122        /**
123         * @param reference
124         *            The reference to set.
125         */
126        public void setReference( URL reference ) {
127            this.reference = reference;
128        }
129    
130        /**
131         * @return Returns the title.
132         */
133        public String getTitle() {
134            return title;
135        }
136    
137        /**
138         * @param title
139         *            The title to set.
140         */
141        public void setTitle( String title ) {
142            this.title = title;
143        }
144    
145        /**
146         * @see java.lang.Object#clone()
147         */
148        public Object clone() {
149            return new MetadataLink( reference, title, about, new MetadataType( metadataType.value ) );
150        }
151    
152    }