casa
$Rev:20696$
|
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 00041 #ifndef WITHOUT_ACS 00042 #include <asdmIDLC.h> 00043 #endif 00044 00045 00046 00047 00048 00049 00050 00051 #include <ArrayTime.h> 00052 00053 00054 00055 #include <Angle.h> 00056 00057 00058 00059 #include <Interval.h> 00060 00061 00062 00063 #include <Tag.h> 00064 00065 00066 00067 #include <EntityRef.h> 00068 00069 00070 00071 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084 #include "CReceiverBand.h" 00085 00086 00087 00088 #include "CSBType.h" 00089 00090 00091 00092 00093 00094 00095 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 #include "CDirectionReferenceCode.h" 00111 00112 00113 00114 00115 00116 00117 #include <ConversionException.h> 00118 #include <NoSuchRow.h> 00119 #include <IllegalAccessException.h> 00120 00121 #include <RowTransformer.h> 00122 //#include <TableStreamReader.h> 00123 00124 /*\file SBSummary.h 00125 \brief Generated from model's revision "1.61", branch "HEAD" 00126 */ 00127 00128 namespace asdm { 00129 00130 //class asdm::SBSummaryTable; 00131 00132 00133 00134 class SBSummaryRow; 00135 typedef void (SBSummaryRow::*SBSummaryAttributeFromBin) (EndianIStream& eis); 00136 typedef void (SBSummaryRow::*SBSummaryAttributeFromText) (const string& s); 00137 00144 class SBSummaryRow { 00145 friend class asdm::SBSummaryTable; 00146 friend class asdm::RowTransformer<SBSummaryRow>; 00147 //friend class asdm::TableStreamReader<SBSummaryTable, SBSummaryRow>; 00148 00149 public: 00150 00151 virtual ~SBSummaryRow(); 00152 00156 SBSummaryTable &getTable() const; 00157 00162 bool isAdded() const; 00163 00165 // Intrinsic Table Attributes // 00167 00168 00169 // ===> Attribute sBSummaryId 00170 00171 00172 00173 00174 00179 Tag getSBSummaryId() const; 00180 00181 00182 00183 00184 00185 00186 00187 00188 00189 // ===> Attribute sbSummaryUID 00190 00191 00192 00193 00194 00199 EntityRef getSbSummaryUID() const; 00200 00201 00202 00203 00211 void setSbSummaryUID (EntityRef sbSummaryUID); 00212 00213 00214 00215 00216 00217 00218 00219 // ===> Attribute projectUID 00220 00221 00222 00223 00224 00229 EntityRef getProjectUID() const; 00230 00231 00232 00233 00241 void setProjectUID (EntityRef projectUID); 00242 00243 00244 00245 00246 00247 00248 00249 // ===> Attribute obsUnitSetUID 00250 00251 00252 00253 00254 00259 EntityRef getObsUnitSetUID() const; 00260 00261 00262 00263 00271 void setObsUnitSetUID (EntityRef obsUnitSetUID); 00272 00273 00274 00275 00276 00277 00278 00279 // ===> Attribute frequency 00280 00281 00282 00283 00284 00289 double getFrequency() const; 00290 00291 00292 00293 00301 void setFrequency (double frequency); 00302 00303 00304 00305 00306 00307 00308 00309 // ===> Attribute frequencyBand 00310 00311 00312 00313 00314 00319 ReceiverBandMod::ReceiverBand getFrequencyBand() const; 00320 00321 00322 00323 00331 void setFrequencyBand (ReceiverBandMod::ReceiverBand frequencyBand); 00332 00333 00334 00335 00336 00337 00338 00339 // ===> Attribute sbType 00340 00341 00342 00343 00344 00349 SBTypeMod::SBType getSbType() const; 00350 00351 00352 00353 00361 void setSbType (SBTypeMod::SBType sbType); 00362 00363 00364 00365 00366 00367 00368 00369 // ===> Attribute sbDuration 00370 00371 00372 00373 00374 00379 Interval getSbDuration() const; 00380 00381 00382 00383 00391 void setSbDuration (Interval sbDuration); 00392 00393 00394 00395 00396 00397 00398 00399 // ===> Attribute numObservingMode 00400 00401 00402 00403 00404 00409 int getNumObservingMode() const; 00410 00411 00412 00413 00421 void setNumObservingMode (int numObservingMode); 00422 00423 00424 00425 00426 00427 00428 00429 // ===> Attribute observingMode 00430 00431 00432 00433 00434 00439 vector<string > getObservingMode() const; 00440 00441 00442 00443 00451 void setObservingMode (vector<string > observingMode); 00452 00453 00454 00455 00456 00457 00458 00459 // ===> Attribute numberRepeats 00460 00461 00462 00463 00464 00469 int getNumberRepeats() const; 00470 00471 00472 00473 00481 void setNumberRepeats (int numberRepeats); 00482 00483 00484 00485 00486 00487 00488 00489 // ===> Attribute numScienceGoal 00490 00491 00492 00493 00494 00499 int getNumScienceGoal() const; 00500 00501 00502 00503 00511 void setNumScienceGoal (int numScienceGoal); 00512 00513 00514 00515 00516 00517 00518 00519 // ===> Attribute scienceGoal 00520 00521 00522 00523 00524 00529 vector<string > getScienceGoal() const; 00530 00531 00532 00533 00541 void setScienceGoal (vector<string > scienceGoal); 00542 00543 00544 00545 00546 00547 00548 00549 // ===> Attribute numWeatherConstraint 00550 00551 00552 00553 00554 00559 int getNumWeatherConstraint() const; 00560 00561 00562 00563 00571 void setNumWeatherConstraint (int numWeatherConstraint); 00572 00573 00574 00575 00576 00577 00578 00579 // ===> Attribute weatherConstraint 00580 00581 00582 00583 00584 00589 vector<string > getWeatherConstraint() const; 00590 00591 00592 00593 00601 void setWeatherConstraint (vector<string > weatherConstraint); 00602 00603 00604 00605 00606 00607 00608 00609 // ===> Attribute centerDirection, which is optional 00610 00611 00612 00617 bool isCenterDirectionExists() const; 00618 00619 00620 00626 vector<Angle > getCenterDirection() const; 00627 00628 00629 00630 00637 void setCenterDirection (vector<Angle > centerDirection); 00638 00639 00640 00641 00645 void clearCenterDirection (); 00646 00647 00648 00649 00650 // ===> Attribute centerDirectionCode, which is optional 00651 00652 00653 00658 bool isCenterDirectionCodeExists() const; 00659 00660 00661 00667 DirectionReferenceCodeMod::DirectionReferenceCode getCenterDirectionCode() const; 00668 00669 00670 00671 00678 void setCenterDirectionCode (DirectionReferenceCodeMod::DirectionReferenceCode centerDirectionCode); 00679 00680 00681 00682 00686 void clearCenterDirectionCode (); 00687 00688 00689 00690 00691 // ===> Attribute centerDirectionEquinox, which is optional 00692 00693 00694 00699 bool isCenterDirectionEquinoxExists() const; 00700 00701 00702 00708 ArrayTime getCenterDirectionEquinox() const; 00709 00710 00711 00712 00719 void setCenterDirectionEquinox (ArrayTime centerDirectionEquinox); 00720 00721 00722 00723 00727 void clearCenterDirectionEquinox (); 00728 00729 00730 00732 // Extrinsic Table Attributes // 00734 00736 // Links // 00738 00739 00740 00741 00775 bool compareNoAutoInc(EntityRef sbSummaryUID, EntityRef projectUID, EntityRef obsUnitSetUID, double frequency, ReceiverBandMod::ReceiverBand frequencyBand, SBTypeMod::SBType sbType, Interval sbDuration, int numObservingMode, vector<string > observingMode, int numberRepeats, int numScienceGoal, vector<string > scienceGoal, int numWeatherConstraint, vector<string > weatherConstraint); 00776 00777 00778 00779 00813 bool compareRequiredValue(EntityRef sbSummaryUID, EntityRef projectUID, EntityRef obsUnitSetUID, double frequency, ReceiverBandMod::ReceiverBand frequencyBand, SBTypeMod::SBType sbType, Interval sbDuration, int numObservingMode, vector<string > observingMode, int numberRepeats, int numScienceGoal, vector<string > scienceGoal, int numWeatherConstraint, vector<string > weatherConstraint); 00814 00815 00824 bool equalByRequiredValue(SBSummaryRow* x) ; 00825 00826 #ifndef WITHOUT_ACS 00827 00831 asdmIDL::SBSummaryRowIDL *toIDL() const; 00832 #endif 00833 00834 #ifndef WITHOUT_ACS 00835 00840 void setFromIDL (asdmIDL::SBSummaryRowIDL x) ; 00841 #endif 00842 00847 std::string toXML() const; 00848 00855 void setFromXML (std::string rowDoc) ; 00856 00859 // binary-deserialization material from an EndianIStream // 00861 00862 std::map<std::string, SBSummaryAttributeFromBin> fromBinMethods; 00863 void sBSummaryIdFromBin( EndianIStream& eis); 00864 void sbSummaryUIDFromBin( EndianIStream& eis); 00865 void projectUIDFromBin( EndianIStream& eis); 00866 void obsUnitSetUIDFromBin( EndianIStream& eis); 00867 void frequencyFromBin( EndianIStream& eis); 00868 void frequencyBandFromBin( EndianIStream& eis); 00869 void sbTypeFromBin( EndianIStream& eis); 00870 void sbDurationFromBin( EndianIStream& eis); 00871 void numObservingModeFromBin( EndianIStream& eis); 00872 void observingModeFromBin( EndianIStream& eis); 00873 void numberRepeatsFromBin( EndianIStream& eis); 00874 void numScienceGoalFromBin( EndianIStream& eis); 00875 void scienceGoalFromBin( EndianIStream& eis); 00876 void numWeatherConstraintFromBin( EndianIStream& eis); 00877 void weatherConstraintFromBin( EndianIStream& eis); 00878 00879 void centerDirectionFromBin( EndianIStream& eis); 00880 void centerDirectionCodeFromBin( EndianIStream& eis); 00881 void centerDirectionEquinoxFromBin( EndianIStream& eis); 00882 00883 00891 static SBSummaryRow* fromBin(EndianIStream& eis, SBSummaryTable& table, const std::vector<std::string>& attributesSeq); 00893 00894 private: 00898 SBSummaryTable &table; 00902 bool hasBeenAdded; 00903 00904 // This method is used by the Table class when this row is added to the table. 00905 void isAdded(bool added); 00906 00907 00916 SBSummaryRow (SBSummaryTable &table); 00917 00935 SBSummaryRow (SBSummaryTable &table, SBSummaryRow &row); 00936 00938 // Intrinsic Table Attributes // 00940 00941 00942 // ===> Attribute sBSummaryId 00943 00944 00945 00946 Tag sBSummaryId; 00947 00948 00949 00950 00960 void setSBSummaryId (Tag sBSummaryId); 00961 00962 00963 00964 00965 // ===> Attribute sbSummaryUID 00966 00967 00968 00969 EntityRef sbSummaryUID; 00970 00971 00972 00973 00974 00975 00976 // ===> Attribute projectUID 00977 00978 00979 00980 EntityRef projectUID; 00981 00982 00983 00984 00985 00986 00987 // ===> Attribute obsUnitSetUID 00988 00989 00990 00991 EntityRef obsUnitSetUID; 00992 00993 00994 00995 00996 00997 00998 // ===> Attribute frequency 00999 01000 01001 01002 double frequency; 01003 01004 01005 01006 01007 01008 01009 // ===> Attribute frequencyBand 01010 01011 01012 01013 ReceiverBandMod::ReceiverBand frequencyBand; 01014 01015 01016 01017 01018 01019 01020 // ===> Attribute sbType 01021 01022 01023 01024 SBTypeMod::SBType sbType; 01025 01026 01027 01028 01029 01030 01031 // ===> Attribute sbDuration 01032 01033 01034 01035 Interval sbDuration; 01036 01037 01038 01039 01040 01041 01042 // ===> Attribute numObservingMode 01043 01044 01045 01046 int numObservingMode; 01047 01048 01049 01050 01051 01052 01053 // ===> Attribute observingMode 01054 01055 01056 01057 vector<string > observingMode; 01058 01059 01060 01061 01062 01063 01064 // ===> Attribute numberRepeats 01065 01066 01067 01068 int numberRepeats; 01069 01070 01071 01072 01073 01074 01075 // ===> Attribute numScienceGoal 01076 01077 01078 01079 int numScienceGoal; 01080 01081 01082 01083 01084 01085 01086 // ===> Attribute scienceGoal 01087 01088 01089 01090 vector<string > scienceGoal; 01091 01092 01093 01094 01095 01096 01097 // ===> Attribute numWeatherConstraint 01098 01099 01100 01101 int numWeatherConstraint; 01102 01103 01104 01105 01106 01107 01108 // ===> Attribute weatherConstraint 01109 01110 01111 01112 vector<string > weatherConstraint; 01113 01114 01115 01116 01117 01118 01119 // ===> Attribute centerDirection, which is optional 01120 01121 01122 bool centerDirectionExists; 01123 01124 01125 vector<Angle > centerDirection; 01126 01127 01128 01129 01130 01131 01132 // ===> Attribute centerDirectionCode, which is optional 01133 01134 01135 bool centerDirectionCodeExists; 01136 01137 01138 DirectionReferenceCodeMod::DirectionReferenceCode centerDirectionCode; 01139 01140 01141 01142 01143 01144 01145 // ===> Attribute centerDirectionEquinox, which is optional 01146 01147 01148 bool centerDirectionEquinoxExists; 01149 01150 01151 ArrayTime centerDirectionEquinox; 01152 01153 01154 01155 01156 01158 // Extrinsic Table Attributes // 01160 01162 // Links // 01164 01165 01166 /* 01168 // binary-deserialization material from an EndianIStream // 01170 std::map<std::string, SBSummaryAttributeFromBin> fromBinMethods; 01171 void sBSummaryIdFromBin( EndianIStream& eis); 01172 void sbSummaryUIDFromBin( EndianIStream& eis); 01173 void projectUIDFromBin( EndianIStream& eis); 01174 void obsUnitSetUIDFromBin( EndianIStream& eis); 01175 void frequencyFromBin( EndianIStream& eis); 01176 void frequencyBandFromBin( EndianIStream& eis); 01177 void sbTypeFromBin( EndianIStream& eis); 01178 void sbDurationFromBin( EndianIStream& eis); 01179 void numObservingModeFromBin( EndianIStream& eis); 01180 void observingModeFromBin( EndianIStream& eis); 01181 void numberRepeatsFromBin( EndianIStream& eis); 01182 void numScienceGoalFromBin( EndianIStream& eis); 01183 void scienceGoalFromBin( EndianIStream& eis); 01184 void numWeatherConstraintFromBin( EndianIStream& eis); 01185 void weatherConstraintFromBin( EndianIStream& eis); 01186 01187 void centerDirectionFromBin( EndianIStream& eis); 01188 void centerDirectionCodeFromBin( EndianIStream& eis); 01189 void centerDirectionEquinoxFromBin( EndianIStream& eis); 01190 01191 */ 01192 01194 // text-deserialization material // 01196 std::map<std::string, SBSummaryAttributeFromText> fromTextMethods; 01197 01198 void sBSummaryIdFromText (const string & s); 01199 01200 01201 01202 01203 01204 void frequencyFromText (const string & s); 01205 01206 01207 void frequencyBandFromText (const string & s); 01208 01209 01210 void sbTypeFromText (const string & s); 01211 01212 01213 void sbDurationFromText (const string & s); 01214 01215 01216 void numObservingModeFromText (const string & s); 01217 01218 01219 void observingModeFromText (const string & s); 01220 01221 01222 void numberRepeatsFromText (const string & s); 01223 01224 01225 void numScienceGoalFromText (const string & s); 01226 01227 01228 void scienceGoalFromText (const string & s); 01229 01230 01231 void numWeatherConstraintFromText (const string & s); 01232 01233 01234 void weatherConstraintFromText (const string & s); 01235 01236 01237 01238 void centerDirectionFromText (const string & s); 01239 01240 01241 void centerDirectionCodeFromText (const string & s); 01242 01243 01244 void centerDirectionEquinoxFromText (const string & s); 01245 01246 01247 01248 void fromText(const std::string& attributeName, const std::string& t); 01249 01254 void toBin(EndianOSStream& eoss); 01255 01265 }; 01266 01267 } // End namespace asdm 01268 01269 #endif /* SBSummary_CLASS */