FieldRow.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 FieldRow.h
00032  */
00033  
00034 #ifndef FieldRow_CLASS
00035 #define FieldRow_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::FieldRowIDL;
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 /*
00071 #include <Enumerations.h>
00072 using namespace enumerations;
00073  */
00074 
00075 
00076 
00077 
00078         
00079 
00080         
00081 
00082         
00083 
00084         
00085 
00086         
00087 
00088         
00089 
00090         
00091 
00092         
00093 
00094         
00095 
00096         
00097 
00098 
00099 
00100 using asdm::Angle;
00101 using asdm::AngularRate;
00102 using asdm::ArrayTime;
00103 using asdm::Complex;
00104 using asdm::Entity;
00105 using asdm::EntityId;
00106 using asdm::EntityRef;
00107 using asdm::Flux;
00108 using asdm::Frequency;
00109 using asdm::Humidity;
00110 using asdm::Interval;
00111 using asdm::Length;
00112 using asdm::Pressure;
00113 using asdm::Speed;
00114 using asdm::Tag;
00115 using asdm::Temperature;
00116 using asdm::ConversionException;
00117 using asdm::NoSuchRow;
00118 using asdm::IllegalAccessException;
00119 
00120 /*\file Field.h
00121     \brief Generated from model's revision "1.41", branch "HEAD"
00122 */
00123 
00124 namespace asdm {
00125 
00126 //class asdm::FieldTable;
00127 
00128 
00129 // class asdm::FieldRow;
00130 class FieldRow;
00131 
00132 // class asdm::EphemerisRow;
00133 class EphemerisRow;
00134 
00135 // class asdm::SourceRow;
00136 class SourceRow;
00137         
00138 
00145 class FieldRow {
00146 friend class asdm::FieldTable;
00147 
00148 public:
00149 
00150         virtual ~FieldRow();
00151 
00155         FieldTable &getTable() const;
00156         
00157 #ifndef WITHOUT_ACS
00158 
00162         FieldRowIDL *toIDL() const;
00163 #endif
00164         
00165 #ifndef WITHOUT_ACS
00166 
00170         void setFromIDL (FieldRowIDL x) throw(ConversionException);
00171 #endif
00172         
00177         string toXML() const;
00178 
00184         void setFromXML (string rowDoc) throw(ConversionException);
00185         
00187         // Intrinsic Table Attributes //
00189         
00190         
00191         // ===> Attribute fieldId
00192         
00193         
00194         
00195 
00196         
00201         Tag getFieldId() const;
00202         
00203  
00204         
00205         
00206         
00207         
00208 
00209 
00210         
00211         // ===> Attribute fieldName
00212         
00213         
00214         
00215 
00216         
00221         string getFieldName() const;
00222         
00223  
00224         
00225         
00231         void setFieldName (string fieldName);
00232                 
00233         
00234         
00235         
00236 
00237 
00238         
00239         // ===> Attribute code
00240         
00241         
00242         
00243 
00244         
00249         string getCode() const;
00250         
00251  
00252         
00253         
00259         void setCode (string code);
00260                 
00261         
00262         
00263         
00264 
00265 
00266         
00267         // ===> Attribute time
00268         
00269         
00270         
00271 
00272         
00277         ArrayTime getTime() const;
00278         
00279  
00280         
00281         
00287         void setTime (ArrayTime time);
00288                 
00289         
00290         
00291         
00292 
00293 
00294         
00295         // ===> Attribute numPoly
00296         
00297         
00298         
00299 
00300         
00305         int getNumPoly() const;
00306         
00307  
00308         
00309         
00315         void setNumPoly (int numPoly);
00316                 
00317         
00318         
00319         
00320 
00321 
00322         
00323         // ===> Attribute delayDir
00324         
00325         
00326         
00327 
00328         
00333         vector<vector<Angle > > getDelayDir() const;
00334         
00335  
00336         
00337         
00343         void setDelayDir (vector<vector<Angle > > delayDir);
00344                 
00345         
00346         
00347         
00348 
00349 
00350         
00351         // ===> Attribute phaseDir
00352         
00353         
00354         
00355 
00356         
00361         vector<vector<Angle > > getPhaseDir() const;
00362         
00363  
00364         
00365         
00371         void setPhaseDir (vector<vector<Angle > > phaseDir);
00372                 
00373         
00374         
00375         
00376 
00377 
00378         
00379         // ===> Attribute referenceDir
00380         
00381         
00382         
00383 
00384         
00389         vector<vector<Angle > > getReferenceDir() const;
00390         
00391  
00392         
00393         
00399         void setReferenceDir (vector<vector<Angle > > referenceDir);
00400                 
00401         
00402         
00403         
00404 
00405 
00406         
00407         // ===> Attribute assocNature, which is optional
00408         
00409         
00410         
00415         bool isAssocNatureExists() const;
00416         
00417 
00418         
00424         string getAssocNature() const throw(IllegalAccessException);
00425         
00426  
00427         
00428         
00434         void setAssocNature (string assocNature);
00435                 
00436         
00437         
00438         
00442         void clearAssocNature ();
00443         
00444 
00445 
00446         
00447         // ===> Attribute flagRow
00448         
00449         
00450         
00451 
00452         
00457         bool getFlagRow() const;
00458         
00459  
00460         
00461         
00467         void setFlagRow (bool flagRow);
00468                 
00469         
00470         
00471         
00472 
00473 
00475         // Extrinsic Table Attributes //
00477         
00478         
00479         // ===> Attribute assocFieldId, which is optional
00480         
00481         
00482         
00487         bool isAssocFieldIdExists() const;
00488         
00489 
00490         
00496         vector<Tag>  getAssocFieldId() const throw(IllegalAccessException);
00497         
00498  
00499         
00500         
00506         void setAssocFieldId (vector<Tag>  assocFieldId);
00507                 
00508         
00509         
00510         
00514         void clearAssocFieldId ();
00515         
00516 
00517 
00518         
00519         // ===> Attribute ephemerisId, which is optional
00520         
00521         
00522         
00527         bool isEphemerisIdExists() const;
00528         
00529 
00530         
00536         Tag getEphemerisId() const throw(IllegalAccessException);
00537         
00538  
00539         
00540         
00546         void setEphemerisId (Tag ephemerisId);
00547                 
00548         
00549         
00550         
00554         void clearEphemerisId ();
00555         
00556 
00557 
00558         
00559         // ===> Attribute sourceId, which is optional
00560         
00561         
00562         
00567         bool isSourceIdExists() const;
00568         
00569 
00570         
00576         int getSourceId() const throw(IllegalAccessException);
00577         
00578  
00579         
00580         
00586         void setSourceId (int sourceId);
00587                 
00588         
00589         
00590         
00594         void clearSourceId ();
00595         
00596 
00597 
00599         // Links //
00601         
00602         
00603                 
00611         void setAssocFieldId (int i, Tag assocFieldId) throw(IllegalAccessException, OutOfBoundsException); 
00612                         
00613         
00614 
00615         
00616                  
00621  void addAssocFieldId(Tag id); 
00622 
00627  void addAssocFieldId(const vector<Tag> & id); 
00628  
00629 
00635  const Tag getAssocFieldId(int i);
00636  
00644  FieldRow* getField(int i); 
00645  
00650  vector<FieldRow *> getFields(); 
00651   
00652 
00653         
00654 
00655         
00656 
00657         
00658                 
00667          EphemerisRow* getEphemerisUsingEphemerisId();
00668          
00669 
00670         
00671 
00672         
00673 
00674         
00675                 
00676         // ===> Slice link from a row of Field table to a collection of row of Source table.
00677         
00683         vector <SourceRow *> getSources();
00684         
00685         
00686 
00687         
00688 
00689         
00690         
00691         
00696         bool compareNoAutoInc(string fieldName, string code, ArrayTime time, int numPoly, vector<vector<Angle > > delayDir, vector<vector<Angle > > phaseDir, vector<vector<Angle > > referenceDir, bool flagRow);
00697         
00698         
00699 
00700         
00701         bool compareRequiredValue(string fieldName, string code, ArrayTime time, int numPoly, vector<vector<Angle > > delayDir, vector<vector<Angle > > phaseDir, vector<vector<Angle > > referenceDir, bool flagRow); 
00702                  
00703         
00712         bool equalByRequiredValue(FieldRow* x) ;
00713 
00714 private:
00718         FieldTable &table;
00722         bool hasBeenAdded;
00723 
00724         // This method is used by the Table class when this row is added to the table.
00725         void isAdded();
00726 
00727 
00736         FieldRow (FieldTable &table);
00737 
00755          FieldRow (FieldTable &table, FieldRow &row);
00756                 
00758         // Intrinsic Table Attributes //
00760         
00761         
00762         // ===> Attribute fieldId
00763         
00764         
00765 
00766         Tag fieldId;
00767 
00768         
00769         
00770         
00777         void setFieldId (Tag fieldId) throw(IllegalAccessException);
00778                 
00779         
00780 
00781         
00782         // ===> Attribute fieldName
00783         
00784         
00785 
00786         string fieldName;
00787 
00788         
00789         
00790         
00791 
00792         
00793         // ===> Attribute code
00794         
00795         
00796 
00797         string code;
00798 
00799         
00800         
00801         
00802 
00803         
00804         // ===> Attribute time
00805         
00806         
00807 
00808         ArrayTime time;
00809 
00810         
00811         
00812         
00813 
00814         
00815         // ===> Attribute numPoly
00816         
00817         
00818 
00819         int numPoly;
00820 
00821         
00822         
00823         
00824 
00825         
00826         // ===> Attribute delayDir
00827         
00828         
00829 
00830         vector<vector<Angle > > delayDir;
00831 
00832         
00833         
00834         
00835 
00836         
00837         // ===> Attribute phaseDir
00838         
00839         
00840 
00841         vector<vector<Angle > > phaseDir;
00842 
00843         
00844         
00845         
00846 
00847         
00848         // ===> Attribute referenceDir
00849         
00850         
00851 
00852         vector<vector<Angle > > referenceDir;
00853 
00854         
00855         
00856         
00857 
00858         
00859         // ===> Attribute assocNature, which is optional
00860         
00861         
00862         bool assocNatureExists;
00863         
00864 
00865         string assocNature;
00866 
00867         
00868         
00869         
00870 
00871         
00872         // ===> Attribute flagRow
00873         
00874         
00875 
00876         bool flagRow;
00877 
00878         
00879         
00880         
00881 
00883         // Extrinsic Table Attributes //
00885         
00886         
00887         // ===> Attribute assocFieldId, which is optional
00888         
00889         
00890         bool assocFieldIdExists;
00891         
00892 
00893         vector<Tag>  assocFieldId;
00894 
00895         
00896         
00897         
00898 
00899         
00900         // ===> Attribute ephemerisId, which is optional
00901         
00902         
00903         bool ephemerisIdExists;
00904         
00905 
00906         Tag ephemerisId;
00907 
00908         
00909         
00910         
00911 
00912         
00913         // ===> Attribute sourceId, which is optional
00914         
00915         
00916         bool sourceIdExists;
00917         
00918 
00919         int sourceId;
00920 
00921         
00922         
00923         
00924 
00926         // Links //
00928         
00929         
00930                 
00931 
00932 
00933         
00934 
00935         
00936                 
00937 
00938          
00939 
00940         
00941 
00942         
00943                 
00944 
00945 
00946         
00947 
00948 
00949 };
00950 
00951 } // End namespace asdm
00952 
00953 #endif /* Field_CLASS */

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