casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
EphemerisRow.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 EphemerisRow.h
00032  */
00033  
00034 #ifndef EphemerisRow_CLASS
00035 #define EphemerisRow_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 <Tag.h>
00052         
00053 
00054 
00055 
00056 
00057         
00058 
00059 
00060 
00061 #include <ConversionException.h>
00062 #include <NoSuchRow.h>
00063 #include <IllegalAccessException.h>
00064 
00065 #include <RowTransformer.h>
00066 //#include <TableStreamReader.h>
00067 
00068 /*\file Ephemeris.h
00069     \brief Generated from model's revision "1.64", branch "HEAD"
00070 */
00071 
00072 namespace asdm {
00073 
00074 //class asdm::EphemerisTable;
00075 
00076         
00077 
00078 class EphemerisRow;
00079 typedef void (EphemerisRow::*EphemerisAttributeFromBin) (EndianIStream& eis);
00080 typedef void (EphemerisRow::*EphemerisAttributeFromText) (const string& s);
00081 
00088 class EphemerisRow {
00089 friend class asdm::EphemerisTable;
00090 friend class asdm::RowTransformer<EphemerisRow>;
00091 //friend class asdm::TableStreamReader<EphemerisTable, EphemerisRow>;
00092 
00093 public:
00094 
00095         virtual ~EphemerisRow();
00096 
00100         EphemerisTable &getTable() const;
00101         
00106         bool isAdded() const;
00107                 
00109         // Intrinsic Table Attributes //
00111         
00112         
00113         // ===> Attribute ephemerisId
00114         
00115         
00116         
00117 
00118         
00123         Tag getEphemerisId() const;
00124         
00125  
00126         
00127         
00128         
00129         
00130 
00131 
00133         // Extrinsic Table Attributes //
00135         
00137         // Links //
00139         
00140         
00141         
00142         
00143 
00144                  
00145         
00154         bool equalByRequiredValue(EphemerisRow* x) ;
00155         
00156 #ifndef WITHOUT_ACS
00157 
00161         asdmIDL::EphemerisRowIDL *toIDL() const;
00162         
00170          void toIDL(asdmIDL::EphemerisRowIDL& x) const;
00171 #endif
00172         
00173 #ifndef WITHOUT_ACS
00174 
00179         void setFromIDL (asdmIDL::EphemerisRowIDL x) ;
00180 #endif
00181         
00186         std::string toXML() const;
00187 
00194         void setFromXML (std::string rowDoc) ;
00195 
00198         // binary-deserialization material from an EndianIStream  //
00200 
00201         std::map<std::string, EphemerisAttributeFromBin> fromBinMethods;
00202 void ephemerisIdFromBin( EndianIStream& eis);
00203 
00204         
00205 
00213          static EphemerisRow* fromBin(EndianIStream& eis, EphemerisTable& table, const std::vector<std::string>& attributesSeq);         
00214  
00221          void fromText(const std::string& attributeName, const std::string&  t);
00223 
00224 private:
00228         EphemerisTable &table;
00232         bool hasBeenAdded;
00233 
00234         // This method is used by the Table class when this row is added to the table.
00235         void isAdded(bool added);
00236 
00237 
00246         EphemerisRow (EphemerisTable &table);
00247 
00265          EphemerisRow (EphemerisTable &table, EphemerisRow &row);
00266                 
00268         // Intrinsic Table Attributes //
00270         
00271         
00272         // ===> Attribute ephemerisId
00273         
00274         
00275 
00276         Tag ephemerisId;
00277 
00278         
00279         
00280         
00290         void setEphemerisId (Tag ephemerisId);
00291                 
00292         
00293 
00295         // Extrinsic Table Attributes //
00297         
00299         // Links //
00301         
00302         
00303 /*
00305         // binary-deserialization material from an EndianIStream  //
00307         std::map<std::string, EphemerisAttributeFromBin> fromBinMethods;
00308 void ephemerisIdFromBin( EndianIStream& eis);
00309 
00310         
00311 */
00312         
00314         // text-deserialization material //
00316         std::map<std::string, EphemerisAttributeFromText> fromTextMethods;
00317         
00318 void ephemerisIdFromText (const string & s);
00319         
00320 
00321                 
00322         
00327          void toBin(EndianOSStream& eoss);
00328                  
00338 };
00339 
00340 } // End namespace asdm
00341 
00342 #endif /* Ephemeris_CLASS */