DataDescriptionRow.h

00001 
00002 /*
00003  * ALMA - Atacama Large Millimeter Array
00004  * (c) European Southern Observatory, 2002
00005  * (c) Associated Universities Inc., 2002
00006  * Copyright by ESO (in the framework of the ALMA collaboration),
00007  * Copyright by AUI (in the framework of the ALMA collaboration),
00008  * All rights reserved.
00009  * 
00010  * This library is free software; you can redistribute it and/or
00011  * modify it under the terms of the GNU Lesser General Public
00012  * License as published by the Free software Foundation; either
00013  * version 2.1 of the License, or (at your option) any later version.
00014  * 
00015  * This library is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY, without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  * Lesser General Public License for more details.
00019  * 
00020  * You should have received a copy of the GNU Lesser General Public
00021  * License along with this library; if not, write to the Free Software
00022  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00023  * MA 02111-1307  USA
00024  *
00025  * Warning!
00026  *  -------------------------------------------------------------------- 
00027  * | This is generated code!  Do not modify this file.                  |
00028  * | If you do, all changes will be lost when the file is re-generated. |
00029  *  --------------------------------------------------------------------
00030  *
00031  * File DataDescriptionRow.h
00032  */
00033  
00034 #ifndef DataDescriptionRow_CLASS
00035 #define DataDescriptionRow_CLASS
00036 
00037 #include <vector>
00038 #include <string>
00039 #include <set>
00040 using std::vector;
00041 using std::string;
00042 using std::set;
00043 
00044 #ifndef WITHOUT_ACS
00045 #include <asdmIDLC.h>
00046 using asdmIDL::DataDescriptionRowIDL;
00047 #endif
00048 
00049 #include <Angle.h>
00050 #include <AngularRate.h>
00051 #include <ArrayTime.h>
00052 #include <ArrayTimeInterval.h>
00053 #include <Complex.h>
00054 #include <Entity.h>
00055 #include <EntityId.h>
00056 #include <EntityRef.h>
00057 #include <Flux.h>
00058 #include <Frequency.h>
00059 #include <Humidity.h>
00060 #include <Interval.h>
00061 #include <Length.h>
00062 #include <Pressure.h>
00063 #include <Speed.h>
00064 #include <Tag.h>
00065 #include <Temperature.h>
00066 #include <ConversionException.h>
00067 #include <NoSuchRow.h>
00068 #include <IllegalAccessException.h>
00069  
00070 using asdm::Angle;
00071 using asdm::AngularRate;
00072 using asdm::ArrayTime;
00073 using asdm::Complex;
00074 using asdm::Entity;
00075 using asdm::EntityId;
00076 using asdm::EntityRef;
00077 using asdm::Flux;
00078 using asdm::Frequency;
00079 using asdm::Humidity;
00080 using asdm::Interval;
00081 using asdm::Length;
00082 using asdm::Pressure;
00083 using asdm::Speed;
00084 using asdm::Tag;
00085 using asdm::Temperature;
00086 using asdm::ConversionException;
00087 using asdm::NoSuchRow;
00088 using asdm::IllegalAccessException;
00089 
00090 
00091 namespace asdm {
00092 
00093 //class asdm::DataDescriptionTable;
00094 
00095 
00096 // class asdm::PolarizationRow;
00097 class PolarizationRow;
00098 
00099 // class asdm::HolographyRow;
00100 class HolographyRow;
00101 
00102 // class asdm::SpectralWindowRow;
00103 class SpectralWindowRow;
00104         
00105 
00109 class DataDescriptionRow {
00110 friend class asdm::DataDescriptionTable;
00111 
00112 public:
00113 
00114         virtual ~DataDescriptionRow();
00115 
00119         DataDescriptionTable &getTable() const;
00120         
00121 #ifndef WITHOUT_ACS
00122 
00126         DataDescriptionRowIDL *toIDL() const;
00127 #endif
00128         
00129 #ifndef WITHOUT_ACS
00130 
00134         void setFromIDL (DataDescriptionRowIDL x) throw(ConversionException);
00135 #endif
00136         
00141         string toXML() const;
00142 
00148         void setFromXML (string rowDoc) throw(ConversionException);
00149         
00151         // Intrinsic Table Attributes //
00153         
00154         
00155         // ===> Attribute dataDescriptionId
00156         
00157         
00158         
00159 
00160         
00165         Tag getDataDescriptionId() const;
00166         
00167  
00168         
00169         
00170         
00171         
00172 
00173 
00174         
00175         // ===> Attribute flagRow, which is optional
00176         
00177         
00178         
00183         bool isFlagRowExists() const;
00184         
00185 
00186         
00192         bool getFlagRow() const throw(IllegalAccessException);
00193         
00194  
00195         
00196         
00202         void setFlagRow (bool flagRow);
00203                 
00204         
00205         
00206         
00210         void clearFlagRow ();
00211         
00212         
00213         
00214         
00215 
00216 
00218         // Extrinsic Table Attributes //
00220         
00221         
00222         // ===> Attribute polOrHoloId
00223         
00224         
00225         
00226 
00227         
00232         Tag getPolOrHoloId() const;
00233         
00234  
00235         
00236         
00242         void setPolOrHoloId (Tag polOrHoloId);
00243                 
00244         
00245         
00246         
00247 
00248 
00249         
00250         // ===> Attribute spectralWindowId
00251         
00252         
00253         
00254 
00255         
00260         Tag getSpectralWindowId() const;
00261         
00262  
00263         
00264         
00270         void setSpectralWindowId (Tag spectralWindowId);
00271                 
00272         
00273         
00274         
00275 
00276 
00278         // Links //
00280         
00281         
00282 
00283         
00284                 
00290          PolarizationRow* getPolarizationUsingPolOrHoloId();
00291          
00297          HolographyRow* getHolographyUsingPolOrHoloId();
00298          
00304          SpectralWindowRow* getSpectralWindowUsingSpectralWindowId();
00305          
00310         bool compareNoAutoInc(Tag polOrHoloId, Tag spectralWindowId);
00311         
00312 
00313         bool compareRequiredValue(Tag polOrHoloId, Tag spectralWindowId); 
00314                  
00315         
00324         bool equalByRequiredValue(DataDescriptionRow* x) ;
00325 
00326 private:
00330         DataDescriptionTable &table;
00334         bool hasBeenAdded;
00335 
00336         // This method is used by the Table class when this row is added to the table.
00337         void isAdded();
00338 
00339 
00348         DataDescriptionRow (DataDescriptionTable &table);
00349 
00367          DataDescriptionRow (DataDescriptionTable &table, DataDescriptionRow &row);
00368                 
00370         // Intrinsic Table Attributes //
00372         
00373         
00374         // ===> Attribute dataDescriptionId
00375         
00376         
00377         Tag dataDescriptionId;
00378         
00379         
00380         
00387         void setDataDescriptionId (Tag dataDescriptionId) throw(IllegalAccessException);
00388                 
00389         
00390 
00391         
00392         // ===> Attribute flagRow, which is optional
00393         
00394         
00395         bool flagRowExists;
00396         
00397         bool flagRow;
00398 
00399         
00400         
00401         
00402 
00404         // Extrinsic Table Attributes //
00406         
00407         
00408         // ===> Attribute polOrHoloId
00409         
00410         
00411         Tag polOrHoloId;
00412         
00413         
00414         
00415 
00416         
00417         // ===> Attribute spectralWindowId
00418         
00419         
00420         Tag spectralWindowId;
00421         
00422         
00423         
00424 
00426         // Links //
00428         
00429         
00430                 
00431 
00432          
00433 
00434         
00435 
00436         
00437                 
00438 
00439          
00440 
00441         
00442 
00443 
00444 };
00445 
00446 } // End namespace asdm
00447 
00448 #endif /* DataDescription_CLASS */

Generated on Thu Nov 29 16:46:46 2007 for ASDM C++ Implementation by  doxygen 1.5.1