001    //$HeadURL: svn+ssh://jwilden@svn.wald.intevation.org/deegree/base/branches/2.5_testing/src/org/deegree/ogcwebservices/sos/sensorml/Product.java $
002    /*----------------------------------------------------------------------------
003     This file is part of deegree, http://deegree.org/
004     Copyright (C) 2001-2009 by:
005       Department of Geography, University of Bonn
006     and
007       lat/lon GmbH
008    
009     This library is free software; you can redistribute it and/or modify it under
010     the terms of the GNU Lesser General Public License as published by the Free
011     Software Foundation; either version 2.1 of the License, or (at your option)
012     any later version.
013     This library is distributed in the hope that it will be useful, but WITHOUT
014     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
015     FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
016     details.
017     You should have received a copy of the GNU Lesser General Public License
018     along with this library; if not, write to the Free Software Foundation, Inc.,
019     59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020    
021     Contact information:
022    
023     lat/lon GmbH
024     Aennchenstr. 19, 53177 Bonn
025     Germany
026     http://lat-lon.de/
027    
028     Department of Geography, University of Bonn
029     Prof. Dr. Klaus Greve
030     Postfach 1147, 53001 Bonn
031     Germany
032     http://www.geographie.uni-bonn.de/deegree/
033    
034     e-mail: info@deegree.org
035    ----------------------------------------------------------------------------*/
036    package org.deegree.ogcwebservices.sos.sensorml;
037    
038    /**
039     * represents a Product; please read the SensorML spec
040     *
041     * @author <a href="mailto:mkulbe@lat-lon.de">Matthias Kulbe </a>
042     *
043     */
044    
045    public class Product {
046    
047            private Identifier[] identifiedAs = null;
048    
049            private Classifier[] classifiedAs = null;
050    
051            private Discussion[] description = null;
052    
053            private LocationModel[] locatedUsing = null;
054    
055            private EngineeringCRS hasCRS = null;
056    
057            private Phenomenon observable = null;
058    
059            private String id = null;
060    
061            private ResponseModel[] derivedFrom = null;
062    
063        /**
064         *
065         * @param identifiedAs
066         * @param classifiedAs
067         * @param description
068         * @param locatedUsing
069         * @param derivedFrom
070         * @param hasCRS
071         * @param observable
072         * @param id
073         */
074            public Product(Identifier[] identifiedAs, Classifier[] classifiedAs,
075                            Discussion[] description, LocationModel[] locatedUsing,
076                            ResponseModel[] derivedFrom, EngineeringCRS hasCRS,
077                            Phenomenon observable, String id) {
078    
079                    this.identifiedAs = identifiedAs;
080                    this.classifiedAs = classifiedAs;
081                    this.description = description;
082                    this.locatedUsing = locatedUsing;
083                    this.derivedFrom = derivedFrom;
084                    this.hasCRS = hasCRS;
085                    this.observable = observable;
086                    this.id = id;
087            }
088    
089        /**
090         *
091         * @return classifiers
092         */
093            public Classifier[] getClassifiedAs() {
094                    return classifiedAs;
095            }
096    
097        /**
098         *
099         * @return descriptions
100         */
101            public Discussion[] getDescription() {
102                    return description;
103            }
104    
105        /**
106         *
107         * @return CRS
108         */
109            public EngineeringCRS getHasCRS() {
110                    return hasCRS;
111            }
112    
113            /**
114         *
115         * @return identifiers
116             */
117            public Identifier[] getIdentifiedAs() {
118                    return identifiedAs;
119            }
120    
121        /**
122         *
123         * @return located using
124         */
125            public LocationModel[] getLocatedUsing() {
126                    return locatedUsing;
127            }
128    
129        /**
130         *
131         * @return observable
132         */
133            public Phenomenon getObservable() {
134                    return observable;
135            }
136    
137            /**
138         *
139         * @return identifier
140             */
141            public String getId() {
142                    return id;
143            }
144    
145        /**
146         *
147         * @return derived from
148         */
149            public ResponseModel[] getDerivedFrom() {
150                    return derivedFrom;
151            }
152    }