AnnotationRow.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 AnnotationRow.h
00032  */
00033  
00034 #ifndef AnnotationRow_CLASS
00035 #define AnnotationRow_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::AnnotationRowIDL;
00047 #endif
00048 
00049 
00050 
00051 #include <stdint.h>
00052 
00053 
00054 
00055 
00056 #include <ArrayTime.h>
00057 using  asdm::ArrayTime;
00058 
00059 #include <Interval.h>
00060 using  asdm::Interval;
00061 
00062 #include <Tag.h>
00063 using  asdm::Tag;
00064 
00065 
00066 
00067 
00068         
00069 
00070         
00071 
00072         
00073 
00074         
00075 
00076         
00077 
00078         
00079 #include "CBasebandName.h"
00080 using namespace BasebandNameMod;
00081         
00082 
00083         
00084 
00085         
00086 
00087         
00088 
00089         
00090 
00091         
00092 
00093         
00094 
00095         
00096 
00097         
00098 
00099 
00100 
00101 #include <ConversionException.h>
00102 #include <NoSuchRow.h>
00103 #include <IllegalAccessException.h>
00104 
00105 
00106 /*\file Annotation.h
00107     \brief Generated from model's revision "1.55", branch "HEAD"
00108 */
00109 
00110 namespace asdm {
00111 
00112 //class asdm::AnnotationTable;
00113 
00114 
00115 // class asdm::AntennaRow;
00116 class AntennaRow;
00117         
00118 
00119 class AnnotationRow;
00120 typedef void (AnnotationRow::*AnnotationAttributeFromBin) (EndianISStream& eiss);
00121 
00128 class AnnotationRow {
00129 friend class asdm::AnnotationTable;
00130 
00131 public:
00132 
00133         virtual ~AnnotationRow();
00134 
00138         AnnotationTable &getTable() const;
00139         
00144         bool isAdded() const;
00145                 
00147         // Intrinsic Table Attributes //
00149         
00150         
00151         // ===> Attribute annotationId
00152         
00153         
00154         
00155 
00156         
00161         Tag getAnnotationId() const;
00162         
00163  
00164         
00165         
00166         
00167         
00168 
00169 
00170         
00171         // ===> Attribute time
00172         
00173         
00174         
00175 
00176         
00181         ArrayTime getTime() const;
00182         
00183  
00184         
00185         
00193         void setTime (ArrayTime time);
00194                 
00195         
00196         
00197         
00198 
00199 
00200         
00201         // ===> Attribute issue
00202         
00203         
00204         
00205 
00206         
00211         string getIssue() const;
00212         
00213  
00214         
00215         
00223         void setIssue (string issue);
00224                 
00225         
00226         
00227         
00228 
00229 
00230         
00231         // ===> Attribute details
00232         
00233         
00234         
00235 
00236         
00241         string getDetails() const;
00242         
00243  
00244         
00245         
00253         void setDetails (string details);
00254                 
00255         
00256         
00257         
00258 
00259 
00260         
00261         // ===> Attribute numAntenna, which is optional
00262         
00263         
00264         
00269         bool isNumAntennaExists() const;
00270         
00271 
00272         
00278         int getNumAntenna() const;
00279         
00280  
00281         
00282         
00289         void setNumAntenna (int numAntenna);
00290                 
00291         
00292         
00293         
00297         void clearNumAntenna ();
00298         
00299 
00300 
00301         
00302         // ===> Attribute basebandName, which is optional
00303         
00304         
00305         
00310         bool isBasebandNameExists() const;
00311         
00312 
00313         
00319         vector<BasebandNameMod::BasebandName > getBasebandName() const;
00320         
00321  
00322         
00323         
00330         void setBasebandName (vector<BasebandNameMod::BasebandName > basebandName);
00331                 
00332         
00333         
00334         
00338         void clearBasebandName ();
00339         
00340 
00341 
00342         
00343         // ===> Attribute numBaseband, which is optional
00344         
00345         
00346         
00351         bool isNumBasebandExists() const;
00352         
00353 
00354         
00360         int getNumBaseband() const;
00361         
00362  
00363         
00364         
00371         void setNumBaseband (int numBaseband);
00372                 
00373         
00374         
00375         
00379         void clearNumBaseband ();
00380         
00381 
00382 
00383         
00384         // ===> Attribute interval, which is optional
00385         
00386         
00387         
00392         bool isIntervalExists() const;
00393         
00394 
00395         
00401         Interval getInterval() const;
00402         
00403  
00404         
00405         
00412         void setInterval (Interval interval);
00413                 
00414         
00415         
00416         
00420         void clearInterval ();
00421         
00422 
00423 
00424         
00425         // ===> Attribute dValue, which is optional
00426         
00427         
00428         
00433         bool isDValueExists() const;
00434         
00435 
00436         
00442         double getDValue() const;
00443         
00444  
00445         
00446         
00453         void setDValue (double dValue);
00454                 
00455         
00456         
00457         
00461         void clearDValue ();
00462         
00463 
00464 
00465         
00466         // ===> Attribute vdValue, which is optional
00467         
00468         
00469         
00474         bool isVdValueExists() const;
00475         
00476 
00477         
00483         vector<double > getVdValue() const;
00484         
00485  
00486         
00487         
00494         void setVdValue (vector<double > vdValue);
00495                 
00496         
00497         
00498         
00502         void clearVdValue ();
00503         
00504 
00505 
00506         
00507         // ===> Attribute vvdValues, which is optional
00508         
00509         
00510         
00515         bool isVvdValuesExists() const;
00516         
00517 
00518         
00524         vector<vector<double > > getVvdValues() const;
00525         
00526  
00527         
00528         
00535         void setVvdValues (vector<vector<double > > vvdValues);
00536                 
00537         
00538         
00539         
00543         void clearVvdValues ();
00544         
00545 
00546 
00547         
00548         // ===> Attribute llValue, which is optional
00549         
00550         
00551         
00556         bool isLlValueExists() const;
00557         
00558 
00559         
00565         int64_t getLlValue() const;
00566         
00567  
00568         
00569         
00576         void setLlValue (int64_t llValue);
00577                 
00578         
00579         
00580         
00584         void clearLlValue ();
00585         
00586 
00587 
00588         
00589         // ===> Attribute vllValue, which is optional
00590         
00591         
00592         
00597         bool isVllValueExists() const;
00598         
00599 
00600         
00606         vector<int64_t > getVllValue() const;
00607         
00608  
00609         
00610         
00617         void setVllValue (vector<int64_t > vllValue);
00618                 
00619         
00620         
00621         
00625         void clearVllValue ();
00626         
00627 
00628 
00629         
00630         // ===> Attribute vvllValue, which is optional
00631         
00632         
00633         
00638         bool isVvllValueExists() const;
00639         
00640 
00641         
00647         vector<vector<int64_t > > getVvllValue() const;
00648         
00649  
00650         
00651         
00658         void setVvllValue (vector<vector<int64_t > > vvllValue);
00659                 
00660         
00661         
00662         
00666         void clearVvllValue ();
00667         
00668 
00669 
00671         // Extrinsic Table Attributes //
00673         
00674         
00675         // ===> Attribute antennaId, which is optional
00676         
00677         
00678         
00683         bool isAntennaIdExists() const;
00684         
00685 
00686         
00692         vector<Tag>  getAntennaId() const;
00693         
00694  
00695         
00696         
00703         void setAntennaId (vector<Tag>  antennaId);
00704                 
00705         
00706         
00707         
00711         void clearAntennaId ();
00712         
00713 
00714 
00716         // Links //
00718         
00719         
00720                 
00727         void setAntennaId (int i, Tag antennaId)  ;
00728                         
00729         
00730 
00731         
00732                  
00737  void addAntennaId(Tag id); 
00738 
00743  void addAntennaId(const vector<Tag> & id); 
00744  
00745 
00751  const Tag getAntennaId(int i);
00752  
00760  AntennaRow* getAntennaUsingAntennaId(int i); 
00761  
00766  vector<AntennaRow *> getAntennasUsingAntennaId(); 
00767   
00768 
00769         
00770 
00771         
00772         
00773         
00785         bool compareNoAutoInc(ArrayTime time, string issue, string details);
00786         
00787         
00788 
00789         
00801         bool compareRequiredValue(ArrayTime time, string issue, string details); 
00802                  
00803         
00812         bool equalByRequiredValue(AnnotationRow* x) ;
00813         
00814 #ifndef WITHOUT_ACS
00815 
00819         AnnotationRowIDL *toIDL() const;
00820 #endif
00821         
00822 #ifndef WITHOUT_ACS
00823 
00828         void setFromIDL (AnnotationRowIDL x) ;
00829 #endif
00830         
00835         string toXML() const;
00836 
00843         void setFromXML (string rowDoc) ;       
00844 
00845 private:
00849         AnnotationTable &table;
00853         bool hasBeenAdded;
00854 
00855         // This method is used by the Table class when this row is added to the table.
00856         void isAdded(bool added);
00857 
00858 
00867         AnnotationRow (AnnotationTable &table);
00868 
00886          AnnotationRow (AnnotationTable &table, AnnotationRow &row);
00887                 
00889         // Intrinsic Table Attributes //
00891         
00892         
00893         // ===> Attribute annotationId
00894         
00895         
00896 
00897         Tag annotationId;
00898 
00899         
00900         
00901         
00911         void setAnnotationId (Tag annotationId);
00912                 
00913         
00914 
00915         
00916         // ===> Attribute time
00917         
00918         
00919 
00920         ArrayTime time;
00921 
00922         
00923         
00924         
00925 
00926         
00927         // ===> Attribute issue
00928         
00929         
00930 
00931         string issue;
00932 
00933         
00934         
00935         
00936 
00937         
00938         // ===> Attribute details
00939         
00940         
00941 
00942         string details;
00943 
00944         
00945         
00946         
00947 
00948         
00949         // ===> Attribute numAntenna, which is optional
00950         
00951         
00952         bool numAntennaExists;
00953         
00954 
00955         int numAntenna;
00956 
00957         
00958         
00959         
00960 
00961         
00962         // ===> Attribute basebandName, which is optional
00963         
00964         
00965         bool basebandNameExists;
00966         
00967 
00968         vector<BasebandNameMod::BasebandName > basebandName;
00969 
00970         
00971         
00972         
00973 
00974         
00975         // ===> Attribute numBaseband, which is optional
00976         
00977         
00978         bool numBasebandExists;
00979         
00980 
00981         int numBaseband;
00982 
00983         
00984         
00985         
00986 
00987         
00988         // ===> Attribute interval, which is optional
00989         
00990         
00991         bool intervalExists;
00992         
00993 
00994         Interval interval;
00995 
00996         
00997         
00998         
00999 
01000         
01001         // ===> Attribute dValue, which is optional
01002         
01003         
01004         bool dValueExists;
01005         
01006 
01007         double dValue;
01008 
01009         
01010         
01011         
01012 
01013         
01014         // ===> Attribute vdValue, which is optional
01015         
01016         
01017         bool vdValueExists;
01018         
01019 
01020         vector<double > vdValue;
01021 
01022         
01023         
01024         
01025 
01026         
01027         // ===> Attribute vvdValues, which is optional
01028         
01029         
01030         bool vvdValuesExists;
01031         
01032 
01033         vector<vector<double > > vvdValues;
01034 
01035         
01036         
01037         
01038 
01039         
01040         // ===> Attribute llValue, which is optional
01041         
01042         
01043         bool llValueExists;
01044         
01045 
01046         int64_t llValue;
01047 
01048         
01049         
01050         
01051 
01052         
01053         // ===> Attribute vllValue, which is optional
01054         
01055         
01056         bool vllValueExists;
01057         
01058 
01059         vector<int64_t > vllValue;
01060 
01061         
01062         
01063         
01064 
01065         
01066         // ===> Attribute vvllValue, which is optional
01067         
01068         
01069         bool vvllValueExists;
01070         
01071 
01072         vector<vector<int64_t > > vvllValue;
01073 
01074         
01075         
01076         
01077 
01079         // Extrinsic Table Attributes //
01081         
01082         
01083         // ===> Attribute antennaId, which is optional
01084         
01085         
01086         bool antennaIdExists;
01087         
01088 
01089         vector<Tag>  antennaId;
01090 
01091         
01092         
01093         
01094 
01096         // Links //
01098         
01099         
01100                 
01101 
01102 
01103         
01104 
01105         
01107         // binary-deserialization material//
01109         map<string, AnnotationAttributeFromBin> fromBinMethods;
01110 void annotationIdFromBin( EndianISStream& eiss);
01111 void timeFromBin( EndianISStream& eiss);
01112 void issueFromBin( EndianISStream& eiss);
01113 void detailsFromBin( EndianISStream& eiss);
01114 
01115 void numAntennaFromBin( EndianISStream& eiss);
01116 void basebandNameFromBin( EndianISStream& eiss);
01117 void numBasebandFromBin( EndianISStream& eiss);
01118 void intervalFromBin( EndianISStream& eiss);
01119 void dValueFromBin( EndianISStream& eiss);
01120 void vdValueFromBin( EndianISStream& eiss);
01121 void vvdValuesFromBin( EndianISStream& eiss);
01122 void llValueFromBin( EndianISStream& eiss);
01123 void vllValueFromBin( EndianISStream& eiss);
01124 void vvllValueFromBin( EndianISStream& eiss);
01125 void antennaIdFromBin( EndianISStream& eiss);
01126         
01127         
01132          void toBin(EndianOSStream& eoss);
01133                  
01141          static AnnotationRow* fromBin(EndianISStream& eiss, AnnotationTable& table, const vector<string>& attributesSeq);       
01142 
01143 };
01144 
01145 } // End namespace asdm
01146 
01147 #endif /* Annotation_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines