    001    //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/branches/2.4_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    }