SBSummaryRow.h

Go to the documentation of this file.
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 SBSummaryRow.h
00032  */
00033  
00034 #ifndef SBSummaryRow_CLASS
00035 #define SBSummaryRow_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::SBSummaryRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <ArrayTime.h>
00055 using  asdm::ArrayTime;
00056 
00057 #include <Angle.h>
00058 using  asdm::Angle;
00059 
00060 #include <Interval.h>
00061 using  asdm::Interval;
00062 
00063 #include <Tag.h>
00064 using  asdm::Tag;
00065 
00066 #include <EntityRef.h>
00067 using  asdm::EntityRef;
00068 
00069 
00070 
00071 
00072         
00073 
00074         
00075 
00076         
00077 
00078         
00079 
00080         
00081 
00082         
00083 #include "CReceiverBand.h"
00084 using namespace ReceiverBandMod;
00085         
00086 
00087         
00088 #include "CSBType.h"
00089 using namespace SBTypeMod;
00090         
00091 
00092         
00093 
00094         
00095 
00096         
00097 
00098         
00099 
00100         
00101 
00102         
00103 
00104         
00105 
00106         
00107 
00108         
00109 
00110         
00111 #include "CDirectionReferenceCode.h"
00112 using namespace DirectionReferenceCodeMod;
00113         
00114 
00115         
00116 
00117 
00118 
00119 #include <ConversionException.h>
00120 #include <NoSuchRow.h>
00121 #include <IllegalAccessException.h>
00122 
00123 
00124 /*\file SBSummary.h
00125     \brief Generated from model's revision "1.55", branch "HEAD"
00126 */
00127 
00128 namespace asdm {
00129 
00130 //class asdm::SBSummaryTable;
00131 
00132         
00133 
00134 class SBSummaryRow;
00135 typedef void (SBSummaryRow::*SBSummaryAttributeFromBin) (EndianISStream& eiss);
00136 
00143 class SBSummaryRow {
00144 friend class asdm::SBSummaryTable;
00145 
00146 public:
00147 
00148         virtual ~SBSummaryRow();
00149 
00153         SBSummaryTable &getTable() const;
00154         
00159         bool isAdded() const;
00160                 
00162         // Intrinsic Table Attributes //
00164         
00165         
00166         // ===> Attribute sBSummaryId
00167         
00168         
00169         
00170 
00171         
00176         Tag getSBSummaryId() const;
00177         
00178  
00179         
00180         
00181         
00182         
00183 
00184 
00185         
00186         // ===> Attribute sbSummaryUID
00187         
00188         
00189         
00190 
00191         
00196         EntityRef getSbSummaryUID() const;
00197         
00198  
00199         
00200         
00208         void setSbSummaryUID (EntityRef sbSummaryUID);
00209                 
00210         
00211         
00212         
00213 
00214 
00215         
00216         // ===> Attribute projectUID
00217         
00218         
00219         
00220 
00221         
00226         EntityRef getProjectUID() const;
00227         
00228  
00229         
00230         
00238         void setProjectUID (EntityRef projectUID);
00239                 
00240         
00241         
00242         
00243 
00244 
00245         
00246         // ===> Attribute obsUnitSetId
00247         
00248         
00249         
00250 
00251         
00256         EntityRef getObsUnitSetId() const;
00257         
00258  
00259         
00260         
00268         void setObsUnitSetId (EntityRef obsUnitSetId);
00269                 
00270         
00271         
00272         
00273 
00274 
00275         
00276         // ===> Attribute frequency
00277         
00278         
00279         
00280 
00281         
00286         double getFrequency() const;
00287         
00288  
00289         
00290         
00298         void setFrequency (double frequency);
00299                 
00300         
00301         
00302         
00303 
00304 
00305         
00306         // ===> Attribute frequencyBand
00307         
00308         
00309         
00310 
00311         
00316         ReceiverBandMod::ReceiverBand getFrequencyBand() const;
00317         
00318  
00319         
00320         
00328         void setFrequencyBand (ReceiverBandMod::ReceiverBand frequencyBand);
00329                 
00330         
00331         
00332         
00333 
00334 
00335         
00336         // ===> Attribute sbType
00337         
00338         
00339         
00340 
00341         
00346         SBTypeMod::SBType getSbType() const;
00347         
00348  
00349         
00350         
00358         void setSbType (SBTypeMod::SBType sbType);
00359                 
00360         
00361         
00362         
00363 
00364 
00365         
00366         // ===> Attribute sbDuration
00367         
00368         
00369         
00370 
00371         
00376         Interval getSbDuration() const;
00377         
00378  
00379         
00380         
00388         void setSbDuration (Interval sbDuration);
00389                 
00390         
00391         
00392         
00393 
00394 
00395         
00396         // ===> Attribute centerDirection
00397         
00398         
00399         
00400 
00401         
00406         vector<Angle > getCenterDirection() const;
00407         
00408  
00409         
00410         
00418         void setCenterDirection (vector<Angle > centerDirection);
00419                 
00420         
00421         
00422         
00423 
00424 
00425         
00426         // ===> Attribute numObservingMode
00427         
00428         
00429         
00430 
00431         
00436         int getNumObservingMode() const;
00437         
00438  
00439         
00440         
00448         void setNumObservingMode (int numObservingMode);
00449                 
00450         
00451         
00452         
00453 
00454 
00455         
00456         // ===> Attribute observingMode
00457         
00458         
00459         
00460 
00461         
00466         vector<string > getObservingMode() const;
00467         
00468  
00469         
00470         
00478         void setObservingMode (vector<string > observingMode);
00479                 
00480         
00481         
00482         
00483 
00484 
00485         
00486         // ===> Attribute numberRepeats
00487         
00488         
00489         
00490 
00491         
00496         int getNumberRepeats() const;
00497         
00498  
00499         
00500         
00508         void setNumberRepeats (int numberRepeats);
00509                 
00510         
00511         
00512         
00513 
00514 
00515         
00516         // ===> Attribute numScienceGoal
00517         
00518         
00519         
00520 
00521         
00526         int getNumScienceGoal() const;
00527         
00528  
00529         
00530         
00538         void setNumScienceGoal (int numScienceGoal);
00539                 
00540         
00541         
00542         
00543 
00544 
00545         
00546         // ===> Attribute scienceGoal
00547         
00548         
00549         
00550 
00551         
00556         vector<string > getScienceGoal() const;
00557         
00558  
00559         
00560         
00568         void setScienceGoal (vector<string > scienceGoal);
00569                 
00570         
00571         
00572         
00573 
00574 
00575         
00576         // ===> Attribute numWeatherConstraint
00577         
00578         
00579         
00580 
00581         
00586         int getNumWeatherConstraint() const;
00587         
00588  
00589         
00590         
00598         void setNumWeatherConstraint (int numWeatherConstraint);
00599                 
00600         
00601         
00602         
00603 
00604 
00605         
00606         // ===> Attribute weatherConstraint
00607         
00608         
00609         
00610 
00611         
00616         vector<string > getWeatherConstraint() const;
00617         
00618  
00619         
00620         
00628         void setWeatherConstraint (vector<string > weatherConstraint);
00629                 
00630         
00631         
00632         
00633 
00634 
00635         
00636         // ===> Attribute centerDirectionCode, which is optional
00637         
00638         
00639         
00644         bool isCenterDirectionCodeExists() const;
00645         
00646 
00647         
00653         DirectionReferenceCodeMod::DirectionReferenceCode getCenterDirectionCode() const;
00654         
00655  
00656         
00657         
00664         void setCenterDirectionCode (DirectionReferenceCodeMod::DirectionReferenceCode centerDirectionCode);
00665                 
00666         
00667         
00668         
00672         void clearCenterDirectionCode ();
00673         
00674 
00675 
00676         
00677         // ===> Attribute centerDirectionEquinox, which is optional
00678         
00679         
00680         
00685         bool isCenterDirectionEquinoxExists() const;
00686         
00687 
00688         
00694         ArrayTime getCenterDirectionEquinox() const;
00695         
00696  
00697         
00698         
00705         void setCenterDirectionEquinox (ArrayTime centerDirectionEquinox);
00706                 
00707         
00708         
00709         
00713         void clearCenterDirectionEquinox ();
00714         
00715 
00716 
00718         // Extrinsic Table Attributes //
00720         
00722         // Links //
00724         
00725         
00726         
00727         
00763         bool compareNoAutoInc(EntityRef sbSummaryUID, EntityRef projectUID, EntityRef obsUnitSetId, double frequency, ReceiverBandMod::ReceiverBand frequencyBand, SBTypeMod::SBType sbType, Interval sbDuration, vector<Angle > centerDirection, int numObservingMode, vector<string > observingMode, int numberRepeats, int numScienceGoal, vector<string > scienceGoal, int numWeatherConstraint, vector<string > weatherConstraint);
00764         
00765         
00766 
00767         
00803         bool compareRequiredValue(EntityRef sbSummaryUID, EntityRef projectUID, EntityRef obsUnitSetId, double frequency, ReceiverBandMod::ReceiverBand frequencyBand, SBTypeMod::SBType sbType, Interval sbDuration, vector<Angle > centerDirection, int numObservingMode, vector<string > observingMode, int numberRepeats, int numScienceGoal, vector<string > scienceGoal, int numWeatherConstraint, vector<string > weatherConstraint); 
00804                  
00805         
00814         bool equalByRequiredValue(SBSummaryRow* x) ;
00815         
00816 #ifndef WITHOUT_ACS
00817 
00821         SBSummaryRowIDL *toIDL() const;
00822 #endif
00823         
00824 #ifndef WITHOUT_ACS
00825 
00830         void setFromIDL (SBSummaryRowIDL x) ;
00831 #endif
00832         
00837         string toXML() const;
00838 
00845         void setFromXML (string rowDoc) ;       
00846 
00847 private:
00851         SBSummaryTable &table;
00855         bool hasBeenAdded;
00856 
00857         // This method is used by the Table class when this row is added to the table.
00858         void isAdded(bool added);
00859 
00860 
00869         SBSummaryRow (SBSummaryTable &table);
00870 
00888          SBSummaryRow (SBSummaryTable &table, SBSummaryRow &row);
00889                 
00891         // Intrinsic Table Attributes //
00893         
00894         
00895         // ===> Attribute sBSummaryId
00896         
00897         
00898 
00899         Tag sBSummaryId;
00900 
00901         
00902         
00903         
00913         void setSBSummaryId (Tag sBSummaryId);
00914                 
00915         
00916 
00917         
00918         // ===> Attribute sbSummaryUID
00919         
00920         
00921 
00922         EntityRef sbSummaryUID;
00923 
00924         
00925         
00926         
00927 
00928         
00929         // ===> Attribute projectUID
00930         
00931         
00932 
00933         EntityRef projectUID;
00934 
00935         
00936         
00937         
00938 
00939         
00940         // ===> Attribute obsUnitSetId
00941         
00942         
00943 
00944         EntityRef obsUnitSetId;
00945 
00946         
00947         
00948         
00949 
00950         
00951         // ===> Attribute frequency
00952         
00953         
00954 
00955         double frequency;
00956 
00957         
00958         
00959         
00960 
00961         
00962         // ===> Attribute frequencyBand
00963         
00964         
00965 
00966         ReceiverBandMod::ReceiverBand frequencyBand;
00967 
00968         
00969         
00970         
00971 
00972         
00973         // ===> Attribute sbType
00974         
00975         
00976 
00977         SBTypeMod::SBType sbType;
00978 
00979         
00980         
00981         
00982 
00983         
00984         // ===> Attribute sbDuration
00985         
00986         
00987 
00988         Interval sbDuration;
00989 
00990         
00991         
00992         
00993 
00994         
00995         // ===> Attribute centerDirection
00996         
00997         
00998 
00999         vector<Angle > centerDirection;
01000 
01001         
01002         
01003         
01004 
01005         
01006         // ===> Attribute numObservingMode
01007         
01008         
01009 
01010         int numObservingMode;
01011 
01012         
01013         
01014         
01015 
01016         
01017         // ===> Attribute observingMode
01018         
01019         
01020 
01021         vector<string > observingMode;
01022 
01023         
01024         
01025         
01026 
01027         
01028         // ===> Attribute numberRepeats
01029         
01030         
01031 
01032         int numberRepeats;
01033 
01034         
01035         
01036         
01037 
01038         
01039         // ===> Attribute numScienceGoal
01040         
01041         
01042 
01043         int numScienceGoal;
01044 
01045         
01046         
01047         
01048 
01049         
01050         // ===> Attribute scienceGoal
01051         
01052         
01053 
01054         vector<string > scienceGoal;
01055 
01056         
01057         
01058         
01059 
01060         
01061         // ===> Attribute numWeatherConstraint
01062         
01063         
01064 
01065         int numWeatherConstraint;
01066 
01067         
01068         
01069         
01070 
01071         
01072         // ===> Attribute weatherConstraint
01073         
01074         
01075 
01076         vector<string > weatherConstraint;
01077 
01078         
01079         
01080         
01081 
01082         
01083         // ===> Attribute centerDirectionCode, which is optional
01084         
01085         
01086         bool centerDirectionCodeExists;
01087         
01088 
01089         DirectionReferenceCodeMod::DirectionReferenceCode centerDirectionCode;
01090 
01091         
01092         
01093         
01094 
01095         
01096         // ===> Attribute centerDirectionEquinox, which is optional
01097         
01098         
01099         bool centerDirectionEquinoxExists;
01100         
01101 
01102         ArrayTime centerDirectionEquinox;
01103 
01104         
01105         
01106         
01107 
01109         // Extrinsic Table Attributes //
01111         
01113         // Links //
01115         
01116         
01118         // binary-deserialization material//
01120         map<string, SBSummaryAttributeFromBin> fromBinMethods;
01121 void sBSummaryIdFromBin( EndianISStream& eiss);
01122 void sbSummaryUIDFromBin( EndianISStream& eiss);
01123 void projectUIDFromBin( EndianISStream& eiss);
01124 void obsUnitSetIdFromBin( EndianISStream& eiss);
01125 void frequencyFromBin( EndianISStream& eiss);
01126 void frequencyBandFromBin( EndianISStream& eiss);
01127 void sbTypeFromBin( EndianISStream& eiss);
01128 void sbDurationFromBin( EndianISStream& eiss);
01129 void centerDirectionFromBin( EndianISStream& eiss);
01130 void numObservingModeFromBin( EndianISStream& eiss);
01131 void observingModeFromBin( EndianISStream& eiss);
01132 void numberRepeatsFromBin( EndianISStream& eiss);
01133 void numScienceGoalFromBin( EndianISStream& eiss);
01134 void scienceGoalFromBin( EndianISStream& eiss);
01135 void numWeatherConstraintFromBin( EndianISStream& eiss);
01136 void weatherConstraintFromBin( EndianISStream& eiss);
01137 
01138 void centerDirectionCodeFromBin( EndianISStream& eiss);
01139 void centerDirectionEquinoxFromBin( EndianISStream& eiss);
01140         
01141         
01146          void toBin(EndianOSStream& eoss);
01147                  
01155          static SBSummaryRow* fromBin(EndianISStream& eiss, SBSummaryTable& table, const vector<string>& attributesSeq);         
01156 
01157 };
01158 
01159 } // End namespace asdm
01160 
01161 #endif /* SBSummary_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines