001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/owscommon_new/Parameter.java $
002    /*----------------    FILE HEADER  ------------------------------------------
003     This file is part of deegree.
004     Copyright (C) 2001-2006 by:
005     Department of Geography, University of Bonn
006     http://www.giub.uni-bonn.de/deegree/
007     lat/lon GmbH
008     http://www.lat-lon.de
009     This library is free software; you can redistribute it and/or
010     modify it under the terms of the GNU Lesser General Public
011     License as published by the Free Software Foundation; either
012     version 2.1 of the License, or (at your option) any later version.
013     This library is distributed in the hope that it will be useful,
014     but WITHOUT ANY WARRANTY; without even the implied warranty of
015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
016     Lesser General Public License for more details.
017     You should have received a copy of the GNU Lesser General Public
018     License along with this library; if not, write to the Free Software
019     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020     Contact:
021     Andreas Poth
022     lat/lon GmbH
023     Aennchenstraße 19
024     53177 Bonn
025     Germany
026     E-Mail: poth@lat-lon.de
027     Jens Fitzke
028     lat/lon GmbH
029     Aennchenstraße 19
030     53177 Bonn
031     Germany
032     E-Mail: jens.fitzke@uni-bonn.de
033     ---------------------------------------------------------------------------*/
034    package org.deegree.owscommon_new;
035    
036    /**
037     * <code>Parameter</code> is an abstraction of <code>DomainType</code>
038     * according to the OWS common specification 1.0.0. It defines some
039     * elementary methods that are self explanatory.
040     * 
041     * @see DomainType
042     * 
043     * @author <a href="mailto:schmitz@lat-lon.de">Andreas Schmitz</a>
044     * @author last edited by: $Author: bezema $
045     * 
046     * @version 2.0, $Revision: 6259 $, $Date: 2007-03-20 10:15:15 +0100 (Di, 20 Mär 2007) $
047     * 
048     * @since 2.0
049     */
050    
051    public abstract class Parameter {
052    
053        private boolean optional = false;
054        
055        private boolean repeatable = false;
056        
057        private String description = null;
058        
059        private int direction = 0;
060    
061        /**
062         * Standard constructor that initializes all encapsulated data.
063         * 
064         * @param optional
065         * @param repeatable
066         * @param description
067         * @param direction
068         */
069        public Parameter( boolean optional, boolean repeatable, String description,
070                          int direction ) {
071            this.optional = optional;
072            this.repeatable = repeatable;
073            this.description = description;
074            this.direction = direction;
075        }
076        
077        /**
078         * @return the description.
079         */
080        public String getDescription() {
081            return description;
082        }
083    
084        /**
085         * @return the direction.
086         */
087        public int getDirection() {
088            return direction;
089        }
090    
091        /**
092         * @return whether this parameter is optional.
093         */
094        public boolean isOptional() {
095            return optional;
096        }
097    
098        /**
099         * @return whether this parameter is repeatable (?).
100         */
101        public boolean isRepeatable() {
102            return repeatable;
103        }
104        
105    }
106    
107    
108    /* ********************************************************************
109    Changes to this class. What the people have been up to:
110    $Log$
111    Revision 1.2  2006/08/24 06:43:04  poth
112    File header corrected
113    
114    Revision 1.1  2006/08/23 07:10:22  schmitz
115    Renamed the owscommon_neu package to owscommon_new.
116    
117    Revision 1.1  2006/08/01 11:46:07  schmitz
118    Added data classes for the new OWS common capabilities framework
119    according to the OWS 1.0.0 common specification.
120    Added name to service identification.
121    
122    
123    
124    ********************************************************************** */