001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/model/csct/cs/TemporalDatum.java $
002    /*----------------    FILE HEADER  ------------------------------------------
003    
004     This file is part of deegree.
005     Copyright (C) 2001-2007 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    // Miscellaneous
054    import java.util.Map;
055    
056    /**
057     * Procedure used to measure time.
058     * 
059     * @version 1.0
060     * @author Martin Desruisseaux
061     */
062    public class TemporalDatum extends Datum {
063        /**
064         * Serial number for interoperability with different versions.
065         */
066        private static final long serialVersionUID = 6313740402733520130L;
067    
068        /**
069         * Default datum for Universal Time Clock (UTC). UTC is based on an atomic clock, while GMT is
070         * based on astronomical observations.
071         */
072        public static final TemporalDatum UTC = (TemporalDatum) pool.intern( new TemporalDatum( "UTC", DatumType.UTC ) );
073    
074        /**
075         * Creates a temporal datum from an enumerated type value.
076         * 
077         * @param name
078         *            Name to give new object.
079         * @param type
080         *            Type of temporal datum to create.
081         */
082        public TemporalDatum( final String name, final DatumType.Temporal type ) {
083            super( name, type );
084        }
085    
086        /**
087         * Creates a temporal datum.
088         * 
089         * @param properties
090         *            The set of properties (see {@link Info}).
091         * @param type
092         *            Type of temporal datum to create.
093         */
094        TemporalDatum( final Map properties, final DatumType type ) {
095            super( properties, type );
096        }
097    
098        /**
099         * Gets the type of the datum as an enumerated code.
100         * 
101         * Note: return type will be changed to {@link DatumType.Temporal} when we will be able to use
102         * generic types (with JDK 1.5).
103         */
104        public DatumType/* .Temporal */getDatumType() {
105            return super.getDatumType();
106        }
107    
108        /**
109         * Fill the part inside "[...]". Used for formatting Well Know Text (WKT).
110         */
111        String addString( final StringBuffer buffer ) {
112            super.addString( buffer );
113            return "TEMPORAL_DATUM";
114        }
115    }