001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/model/csct/cs/VerticalDatum.java $
002    /*----------------    FILE HEADER  ------------------------------------------
003    
004     This file is part of deegree.
005     Copyright (C) 2001 by:
006     EXSE, Department of Geography, University of Bonn
007     http://www.giub.uni-bonn.de/exse/
008     lat/lon GmbH
009     http://www.lat-lon.de
010    
011     It has been implemented within SEAGIS - An OpenSource implementation of OpenGIS specification
012     (C) 2001, Institut de Recherche pour le D�veloppement (http://sourceforge.net/projects/seagis/)
013     SEAGIS Contacts:  Surveillance de l'Environnement Assist�e par Satellite
014     Institut de Recherche pour le D�veloppement / US-Espace
015     mailto:seasnet@teledetection.fr
016    
017    
018     This library is free software; you can redistribute it and/or
019     modify it under the terms of the GNU Lesser General Public
020     License as published by the Free Software Foundation; either
021     version 2.1 of the License, or (at your option) any later version.
022    
023     This library is distributed in the hope that it will be useful,
024     but WITHOUT ANY WARRANTY; without even the implied warranty of
025     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
026     Lesser General Public License for more details.
027    
028     You should have received a copy of the GNU Lesser General Public
029     License along with this library; if not, write to the Free Software
030     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
031    
032     Contact:
033    
034     Andreas Poth
035     lat/lon GmbH
036     Aennchenstr. 19
037     53115 Bonn
038     Germany
039     E-Mail: poth@lat-lon.de
040    
041     Klaus Greve
042     Department of Geography
043     University of Bonn
044     Meckenheimer Allee 166
045     53115 Bonn
046     Germany
047     E-Mail: klaus.greve@uni-bonn.de
048    
049     
050     ---------------------------------------------------------------------------*/
051    package org.deegree.model.csct.cs;
052    
053    // OpenGIS dependencies
054    import java.util.Map;
055    
056    /**
057     * Procedure used to measure vertical distances.
058     * 
059     * @version 1.00
060     * @author OpenGIS (www.opengis.org)
061     * @author Martin Desruisseaux
062     * 
063     * @author last edited by: $Author: apoth $
064     * 
065     * @version $Revision: 7059 $, $Date: 2007-05-10 09:29:09 +0200 (Do, 10 Mai 2007) $
066     * 
067     * @see "org.opengis.cs.CS_VerticalDatum"
068     */
069    public class VerticalDatum extends Datum {
070        /**
071         * Serial number for interoperability with different versions.
072         */
073        private static final long serialVersionUID = 1663224345779675117L;
074    
075        /**
076         * Default vertical datum for ellipsoidal heights. Ellipsoidal heights are measured along the
077         * normal to the ellipsoid used in the definition of horizontal datum.
078         */
079        public static final VerticalDatum ELLIPSOIDAL = (VerticalDatum) pool.intern( new VerticalDatum(
080                                                                                                        "Ellipsoidal",
081                                                                                                        DatumType.ELLIPSOIDAL ) );
082    
083        /**
084         * Creates a vertical datum from an enumerated type value.
085         * 
086         * @param name
087         *            Name to give new object.
088         * @param type
089         *            Type of vertical datum to create.
090         * 
091         */
092        public VerticalDatum( final String name, final DatumType.Vertical type ) {
093            super( name, type );
094        }
095    
096        /**
097         * Creates a vertical datum.
098         * 
099         * @param properties
100         *            The set of properties (see {@link Info}).
101         * @param type
102         *            Type of vertical datum to create.
103         */
104        VerticalDatum( final Map properties, final DatumType type ) {
105            super( properties, type );
106        }
107    
108        /**
109         * Gets the type of the datum as an enumerated code.
110         * 
111         * Note: return type will be changed to {@link DatumType.Vertical} when we will be able to use
112         * generic types (with JDK 1.5).
113         * 
114         * @return the type of the datum as an enumerated code.
115         * 
116         * @see "org.opengis.cs.CS_VerticalDatum#getDatumType()"
117         */
118        public DatumType/* .Vertical */getDatumType() {
119            return super.getDatumType();
120        }
121    
122        /**
123         * Fill the part inside "[...]". Used for formatting Well Know Text (WKT).
124         * 
125         * @param buffer
126         * @return
127         */
128        String addString( final StringBuffer buffer ) {
129            super.addString( buffer );
130            return "VERT_DATUM";
131        }
132    
133    }