casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SquareLawDetectorRow.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 SquareLawDetectorRow.h
00032  */
00033  
00034 #ifndef SquareLawDetectorRow_CLASS
00035 #define SquareLawDetectorRow_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         
00062 #include "CDetectorBandType.h"
00063         
00064 
00065 
00066 
00067 #include <ConversionException.h>
00068 #include <NoSuchRow.h>
00069 #include <IllegalAccessException.h>
00070 
00071 #include <RowTransformer.h>
00072 //#include <TableStreamReader.h>
00073 
00074 /*\file SquareLawDetector.h
00075     \brief Generated from model's revision "1.64", branch "HEAD"
00076 */
00077 
00078 namespace asdm {
00079 
00080 //class asdm::SquareLawDetectorTable;
00081 
00082         
00083 
00084 class SquareLawDetectorRow;
00085 typedef void (SquareLawDetectorRow::*SquareLawDetectorAttributeFromBin) (EndianIStream& eis);
00086 typedef void (SquareLawDetectorRow::*SquareLawDetectorAttributeFromText) (const string& s);
00087 
00094 class SquareLawDetectorRow {
00095 friend class asdm::SquareLawDetectorTable;
00096 friend class asdm::RowTransformer<SquareLawDetectorRow>;
00097 //friend class asdm::TableStreamReader<SquareLawDetectorTable, SquareLawDetectorRow>;
00098 
00099 public:
00100 
00101         virtual ~SquareLawDetectorRow();
00102 
00106         SquareLawDetectorTable &getTable() const;
00107         
00112         bool isAdded() const;
00113                 
00115         // Intrinsic Table Attributes //
00117         
00118         
00119         // ===> Attribute squareLawDetectorId
00120         
00121         
00122         
00123 
00124         
00129         Tag getSquareLawDetectorId() const;
00130         
00131  
00132         
00133         
00134         
00135         
00136 
00137 
00138         
00139         // ===> Attribute numBand
00140         
00141         
00142         
00143 
00144         
00149         int getNumBand() const;
00150         
00151  
00152         
00153         
00161         void setNumBand (int numBand);
00162                 
00163         
00164         
00165         
00166 
00167 
00168         
00169         // ===> Attribute bandType
00170         
00171         
00172         
00173 
00174         
00179         DetectorBandTypeMod::DetectorBandType getBandType() const;
00180         
00181  
00182         
00183         
00191         void setBandType (DetectorBandTypeMod::DetectorBandType bandType);
00192                 
00193         
00194         
00195         
00196 
00197 
00199         // Extrinsic Table Attributes //
00201         
00203         // Links //
00205         
00206         
00207         
00208         
00218         bool compareNoAutoInc(int numBand, DetectorBandTypeMod::DetectorBandType bandType);
00219         
00220         
00221 
00222         
00232         bool compareRequiredValue(int numBand, DetectorBandTypeMod::DetectorBandType bandType); 
00233                  
00234         
00243         bool equalByRequiredValue(SquareLawDetectorRow* x) ;
00244         
00245 #ifndef WITHOUT_ACS
00246 
00250         asdmIDL::SquareLawDetectorRowIDL *toIDL() const;
00251         
00259          void toIDL(asdmIDL::SquareLawDetectorRowIDL& x) const;
00260 #endif
00261         
00262 #ifndef WITHOUT_ACS
00263 
00268         void setFromIDL (asdmIDL::SquareLawDetectorRowIDL x) ;
00269 #endif
00270         
00275         std::string toXML() const;
00276 
00283         void setFromXML (std::string rowDoc) ;
00284 
00287         // binary-deserialization material from an EndianIStream  //
00289 
00290         std::map<std::string, SquareLawDetectorAttributeFromBin> fromBinMethods;
00291 void squareLawDetectorIdFromBin( EndianIStream& eis);
00292 void numBandFromBin( EndianIStream& eis);
00293 void bandTypeFromBin( EndianIStream& eis);
00294 
00295         
00296 
00304          static SquareLawDetectorRow* fromBin(EndianIStream& eis, SquareLawDetectorTable& table, const std::vector<std::string>& attributesSeq);         
00305  
00312          void fromText(const std::string& attributeName, const std::string&  t);
00314 
00315 private:
00319         SquareLawDetectorTable &table;
00323         bool hasBeenAdded;
00324 
00325         // This method is used by the Table class when this row is added to the table.
00326         void isAdded(bool added);
00327 
00328 
00337         SquareLawDetectorRow (SquareLawDetectorTable &table);
00338 
00356          SquareLawDetectorRow (SquareLawDetectorTable &table, SquareLawDetectorRow &row);
00357                 
00359         // Intrinsic Table Attributes //
00361         
00362         
00363         // ===> Attribute squareLawDetectorId
00364         
00365         
00366 
00367         Tag squareLawDetectorId;
00368 
00369         
00370         
00371         
00381         void setSquareLawDetectorId (Tag squareLawDetectorId);
00382                 
00383         
00384 
00385         
00386         // ===> Attribute numBand
00387         
00388         
00389 
00390         int numBand;
00391 
00392         
00393         
00394         
00395 
00396         
00397         // ===> Attribute bandType
00398         
00399         
00400 
00401         DetectorBandTypeMod::DetectorBandType bandType;
00402 
00403         
00404         
00405         
00406 
00408         // Extrinsic Table Attributes //
00410         
00412         // Links //
00414         
00415         
00416 /*
00418         // binary-deserialization material from an EndianIStream  //
00420         std::map<std::string, SquareLawDetectorAttributeFromBin> fromBinMethods;
00421 void squareLawDetectorIdFromBin( EndianIStream& eis);
00422 void numBandFromBin( EndianIStream& eis);
00423 void bandTypeFromBin( EndianIStream& eis);
00424 
00425         
00426 */
00427         
00429         // text-deserialization material //
00431         std::map<std::string, SquareLawDetectorAttributeFromText> fromTextMethods;
00432         
00433 void squareLawDetectorIdFromText (const string & s);
00434         
00435         
00436 void numBandFromText (const string & s);
00437         
00438         
00439 void bandTypeFromText (const string & s);
00440         
00441 
00442                 
00443         
00448          void toBin(EndianOSStream& eoss);
00449                  
00459 };
00460 
00461 } // End namespace asdm
00462 
00463 #endif /* SquareLawDetector_CLASS */