LCOV - code coverage report
Current view: top level - alma/ASDM - SquareLawDetectorRow.cc (source / functions) Hit Total Coverage
Test: casacpp_coverage.info Lines: 0 124 0.0 %
Date: 2024-12-11 20:54:31 Functions: 0 27 0.0 %

          Line data    Source code
       1             : 
       2             : /*
       3             :  * ALMA - Atacama Large Millimeter Array
       4             :  * (c) European Southern Observatory, 2002
       5             :  * (c) Associated Universities Inc., 2002
       6             :  * Copyright by ESO (in the framework of the ALMA collaboration),
       7             :  * Copyright by AUI (in the framework of the ALMA collaboration),
       8             :  * All rights reserved.
       9             :  * 
      10             :  * This library is free software; you can redistribute it and/or
      11             :  * modify it under the terms of the GNU Lesser General Public
      12             :  * License as published by the Free software Foundation; either
      13             :  * version 2.1 of the License, or (at your option) any later version.
      14             :  * 
      15             :  * This library is distributed in the hope that it will be useful,
      16             :  * but WITHOUT ANY WARRANTY, without even the implied warranty of
      17             :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      18             :  * Lesser General Public License for more details.
      19             :  * 
      20             :  * You should have received a copy of the GNU Lesser General Public
      21             :  * License along with this library; if not, write to the Free Software
      22             :  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
      23             :  * MA 02111-1307  USA
      24             :  *
      25             :  * Warning!
      26             :  *  -------------------------------------------------------------------- 
      27             :  * | This is generated code!  Do not modify this file.                  |
      28             :  * | If you do, all changes will be lost when the file is re-generated. |
      29             :  *  --------------------------------------------------------------------
      30             :  *
      31             :  * File SquareLawDetectorRow.cpp
      32             :  */
      33             :  
      34             : #include <vector>
      35             : #include <set>
      36             : 
      37             : #include <alma/ASDM/ASDM.h>
      38             : #include <alma/ASDM/SquareLawDetectorRow.h>
      39             : #include <alma/ASDM/SquareLawDetectorTable.h>
      40             :         
      41             : 
      42             : using asdm::ASDM;
      43             : using asdm::SquareLawDetectorRow;
      44             : using asdm::SquareLawDetectorTable;
      45             : 
      46             : 
      47             : #include <alma/ASDM/Parser.h>
      48             : 
      49             : #include <alma/ASDM/EnumerationParser.h>
      50             : #include <alma/ASDM/ASDMValuesParser.h>
      51             :  
      52             : #include <alma/ASDM/InvalidArgumentException.h>
      53             : 
      54             : using namespace std;
      55             : 
      56             : namespace asdm {
      57           0 :         SquareLawDetectorRow::~SquareLawDetectorRow() {
      58           0 :         }
      59             : 
      60             :         /**
      61             :          * Return the table to which this row belongs.
      62             :          */
      63           0 :         SquareLawDetectorTable &SquareLawDetectorRow::getTable() const {
      64           0 :                 return table;
      65             :         }
      66             : 
      67           0 :         bool SquareLawDetectorRow::isAdded() const {
      68           0 :                 return hasBeenAdded;
      69             :         }       
      70             : 
      71           0 :         void SquareLawDetectorRow::isAdded(bool added) {
      72           0 :                 hasBeenAdded = added;
      73           0 :         }
      74             :         
      75             : #ifndef WITHOUT_ACS
      76             :         using asdmIDL::SquareLawDetectorRowIDL;
      77             : #endif
      78             :         
      79             : #ifndef WITHOUT_ACS
      80             :         /**
      81             :          * Return this row in the form of an IDL struct.
      82             :          * @return The values of this row as a SquareLawDetectorRowIDL struct.
      83             :          */
      84             :         SquareLawDetectorRowIDL *SquareLawDetectorRow::toIDL() const {
      85             :                 SquareLawDetectorRowIDL *x = new SquareLawDetectorRowIDL ();
      86             :                 
      87             :                 // Fill the IDL structure.
      88             :         
      89             :                 
      90             :         
      91             :                 
      92             :                 
      93             :                 
      94             :                         
      95             :                 x->squareLawDetectorId = squareLawDetectorId.toIDLTag();
      96             :                         
      97             :                 
      98             :         
      99             : 
     100             :         
     101             :                 
     102             :                 
     103             :                 
     104             :                         
     105             :                                 
     106             :                 x->numBand = numBand;
     107             :                                 
     108             :                         
     109             :                 
     110             :         
     111             : 
     112             :         
     113             :                 
     114             :                 
     115             :                 
     116             :                         
     117             :                                 
     118             :                 x->bandType = bandType;
     119             :                                 
     120             :                         
     121             :                 
     122             :         
     123             : 
     124             :         
     125             :         
     126             :                 
     127             :                 
     128             :                 return x;
     129             :         
     130             :         }
     131             :         
     132             :         void SquareLawDetectorRow::toIDL(asdmIDL::SquareLawDetectorRowIDL& x) const {
     133             :                 // Set the x's fields.
     134             :         
     135             :                 
     136             :         
     137             :                 
     138             :                 
     139             :                 
     140             :                         
     141             :                 x.squareLawDetectorId = squareLawDetectorId.toIDLTag();
     142             :                         
     143             :                 
     144             :         
     145             : 
     146             :         
     147             :                 
     148             :                 
     149             :                 
     150             :                         
     151             :                                 
     152             :                 x.numBand = numBand;
     153             :                                 
     154             :                         
     155             :                 
     156             :         
     157             : 
     158             :         
     159             :                 
     160             :                 
     161             :                 
     162             :                         
     163             :                                 
     164             :                 x.bandType = bandType;
     165             :                                 
     166             :                         
     167             :                 
     168             :         
     169             : 
     170             :         
     171             :         
     172             :                 
     173             :         
     174             :         }
     175             : #endif
     176             :         
     177             : 
     178             : #ifndef WITHOUT_ACS
     179             :         /**
     180             :          * Fill the values of this row from the IDL struct SquareLawDetectorRowIDL.
     181             :          * @param x The IDL struct containing the values used to fill this row.
     182             :          */
     183             :         void SquareLawDetectorRow::setFromIDL (SquareLawDetectorRowIDL x){
     184             :                 try {
     185             :                 // Fill the values from x.
     186             :         
     187             :                 
     188             :         
     189             :                 
     190             :                 
     191             :                         
     192             :                 setSquareLawDetectorId(Tag (x.squareLawDetectorId));
     193             :                         
     194             :                 
     195             :                 
     196             :         
     197             : 
     198             :         
     199             :                 
     200             :                 
     201             :                         
     202             :                 setNumBand(x.numBand);
     203             :                         
     204             :                 
     205             :                 
     206             :         
     207             : 
     208             :         
     209             :                 
     210             :                 
     211             :                         
     212             :                 setBandType(x.bandType);
     213             :                         
     214             :                 
     215             :                 
     216             :         
     217             : 
     218             :         
     219             :         
     220             :                 
     221             :                 } catch (const IllegalAccessException &err) {
     222             :                         throw ConversionException (err.getMessage(),"SquareLawDetector");
     223             :                 }
     224             :         }
     225             : #endif
     226             :         
     227             :         /**
     228             :          * Return this row in the form of an XML string.
     229             :          * @return The values of this row as an XML string.
     230             :          */
     231           0 :         string SquareLawDetectorRow::toXML() const {
     232           0 :                 string buf;
     233           0 :                 buf.append("<row> \n");
     234             :                 
     235             :         
     236             :                 
     237             :         
     238             :                 
     239             :                 
     240           0 :                 Parser::toXML(squareLawDetectorId, "squareLawDetectorId", buf);
     241             :                 
     242             :                 
     243             :         
     244             : 
     245             :         
     246             :                 
     247             :                 
     248           0 :                 Parser::toXML(numBand, "numBand", buf);
     249             :                 
     250             :                 
     251             :         
     252             : 
     253             :         
     254             :                 
     255             :                 
     256           0 :                         buf.append(EnumerationParser::toXML("bandType", bandType));
     257             :                 
     258             :                 
     259             :         
     260             : 
     261             :         
     262             :         
     263             :                 
     264             :                 
     265           0 :                 buf.append("</row>\n");
     266           0 :                 return buf;
     267           0 :         }
     268             : 
     269             :         /**
     270             :          * Fill the values of this row from an XML string 
     271             :          * that was produced by the toXML() method.
     272             :          * @param x The XML string being used to set the values of this row.
     273             :          */
     274           0 :         void SquareLawDetectorRow::setFromXML (string rowDoc) {
     275           0 :                 Parser row(rowDoc);
     276           0 :                 string s = "";
     277             :                 try {
     278             :         
     279             :                 
     280             :         
     281             :                 
     282             :                         
     283           0 :                 setSquareLawDetectorId(Parser::getTag("squareLawDetectorId","SquareLawDetector",rowDoc));
     284             :                         
     285             :                 
     286             :         
     287             : 
     288             :         
     289             :                 
     290             :                         
     291           0 :                 setNumBand(Parser::getInteger("numBand","SquareLawDetector",rowDoc));
     292             :                         
     293             :                 
     294             :         
     295             : 
     296             :         
     297             :                 
     298             :                 
     299             :                 
     300           0 :                 bandType = EnumerationParser::getDetectorBandType("bandType","SquareLawDetector",rowDoc);
     301             :                 
     302             :                 
     303             :                 
     304             :         
     305             : 
     306             :         
     307             :         
     308             :                 
     309           0 :                 } catch (const IllegalAccessException &err) {
     310           0 :                         throw ConversionException (err.getMessage(),"SquareLawDetector");
     311           0 :                 }
     312           0 :         }
     313             :         
     314           0 :         void SquareLawDetectorRow::toBin(EndianOSStream& eoss) {
     315             :         
     316             :         
     317             :         
     318             :         
     319             :                 
     320           0 :         squareLawDetectorId.toBin(eoss);
     321             :                 
     322             :         
     323             : 
     324             :         
     325             :         
     326             :                 
     327             :                                                 
     328           0 :                         eoss.writeInt(numBand);
     329             :                                 
     330             :                 
     331             :         
     332             : 
     333             :         
     334             :         
     335             :                 
     336             :                                         
     337           0 :                 eoss.writeString(CDetectorBandType::name(bandType));
     338             :                         /* eoss.writeInt(bandType); */
     339             :                                 
     340             :                 
     341             :         
     342             : 
     343             : 
     344             :         
     345             :         
     346           0 :         }
     347             :         
     348           0 : void SquareLawDetectorRow::squareLawDetectorIdFromBin(EndianIStream& eis) {
     349             :                 
     350             :         
     351             :                 
     352             :                 
     353           0 :                 squareLawDetectorId =  Tag::fromBin(eis);
     354             :                 
     355             :         
     356             :         
     357           0 : }
     358           0 : void SquareLawDetectorRow::numBandFromBin(EndianIStream& eis) {
     359             :                 
     360             :         
     361             :         
     362             :                 
     363             :                         
     364           0 :                 numBand =  eis.readInt();
     365             :                         
     366             :                 
     367             :         
     368             :         
     369           0 : }
     370           0 : void SquareLawDetectorRow::bandTypeFromBin(EndianIStream& eis) {
     371             :                 
     372             :         
     373             :         
     374             :                 
     375             :                         
     376           0 :                 bandType = CDetectorBandType::literal(eis.readString());
     377             :                         
     378             :                 
     379             :         
     380             :         
     381           0 : }
     382             : 
     383             :                 
     384             :         
     385           0 :         SquareLawDetectorRow* SquareLawDetectorRow::fromBin(EndianIStream& eis, SquareLawDetectorTable& table, const vector<string>& attributesSeq) {
     386           0 :                 SquareLawDetectorRow* row = new  SquareLawDetectorRow(table);
     387             :                 
     388           0 :                 map<string, SquareLawDetectorAttributeFromBin>::iterator iter ;
     389           0 :                 for (unsigned int i = 0; i < attributesSeq.size(); i++) {
     390           0 :                         iter = row->fromBinMethods.find(attributesSeq.at(i));
     391           0 :                         if (iter != row->fromBinMethods.end()) {
     392           0 :                                 (row->*(row->fromBinMethods[ attributesSeq.at(i) ] ))(eis);                       
     393             :                         }
     394             :                         else {
     395           0 :                                 BinaryAttributeReaderFunctor* functorP = table.getUnknownAttributeBinaryReader(attributesSeq.at(i));
     396           0 :                                 if (functorP)
     397           0 :                                         (*functorP)(eis);
     398             :                                 else
     399           0 :                                         throw ConversionException("There is not method to read an attribute '"+attributesSeq.at(i)+"'.", "SquareLawDetectorTable");
     400             :                         }
     401             :                                 
     402             :                 }                               
     403           0 :                 return row;
     404             :         }
     405             : 
     406             :         //
     407             :         // A collection of methods to set the value of the attributes from their textual value in the XML representation
     408             :         // of one row.
     409             :         //
     410             :         
     411             :         // Convert a string into an Tag 
     412           0 :         void SquareLawDetectorRow::squareLawDetectorIdFromText(const string & s) {
     413             :                  
     414             :           
     415           0 :                 squareLawDetectorId = ASDMValuesParser::parse<Tag>(s);
     416             :           
     417             :                 
     418           0 :         }
     419             :         
     420             :         
     421             :         // Convert a string into an int 
     422           0 :         void SquareLawDetectorRow::numBandFromText(const string & s) {
     423             :                  
     424             :           
     425           0 :                 numBand = ASDMValuesParser::parse<int>(s);
     426             :           
     427             :                 
     428           0 :         }
     429             :         
     430             :         
     431             :         // Convert a string into an DetectorBandType 
     432           0 :         void SquareLawDetectorRow::bandTypeFromText(const string & s) {
     433             :                  
     434             :           
     435           0 :                 bandType = ASDMValuesParser::parse<DetectorBandTypeMod::DetectorBandType>(s);
     436             :           
     437             :                 
     438           0 :         }
     439             :         
     440             : 
     441             :                 
     442             :         
     443           0 :         void SquareLawDetectorRow::fromText(const std::string& attributeName, const std::string&  t) {
     444           0 :                 map<string, SquareLawDetectorAttributeFromText>::iterator iter;
     445           0 :                 if ((iter = fromTextMethods.find(attributeName)) == fromTextMethods.end())
     446           0 :                         throw ConversionException("I do not know what to do with '"+attributeName+"' and its content '"+t+"' (while parsing an XML document)", "SquareLawDetectorTable");
     447           0 :                 (this->*(iter->second))(t);
     448           0 :         }
     449             :                         
     450             :         ////////////////////////////////////////////////
     451             :         // Intrinsic Table Attributes getters/setters //
     452             :         ////////////////////////////////////////////////
     453             :         
     454             :         
     455             : 
     456             :         
     457             :         /**
     458             :          * Get squareLawDetectorId.
     459             :          * @return squareLawDetectorId as Tag
     460             :          */
     461           0 :         Tag SquareLawDetectorRow::getSquareLawDetectorId() const {
     462             :         
     463           0 :                 return squareLawDetectorId;
     464             :         }
     465             : 
     466             :         /**
     467             :          * Set squareLawDetectorId with the specified Tag.
     468             :          * @param squareLawDetectorId The Tag value to which squareLawDetectorId is to be set.
     469             :          
     470             :         
     471             :                 
     472             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
     473             :                 
     474             :          */
     475           0 :         void SquareLawDetectorRow::setSquareLawDetectorId (Tag squareLawDetectorId)  {
     476             :         
     477             :         
     478           0 :                 if (hasBeenAdded) {
     479             :                 
     480           0 :                         throw IllegalAccessException("squareLawDetectorId", "SquareLawDetector");
     481             :                 
     482             :                 }
     483             :         
     484           0 :                 this->squareLawDetectorId = squareLawDetectorId;
     485             :         
     486           0 :         }
     487             :         
     488             :         
     489             : 
     490             :         
     491             : 
     492             :         
     493             :         /**
     494             :          * Get numBand.
     495             :          * @return numBand as int
     496             :          */
     497           0 :         int SquareLawDetectorRow::getNumBand() const {
     498             :         
     499           0 :                 return numBand;
     500             :         }
     501             : 
     502             :         /**
     503             :          * Set numBand with the specified int.
     504             :          * @param numBand The int value to which numBand is to be set.
     505             :          
     506             :         
     507             :                 
     508             :          */
     509           0 :         void SquareLawDetectorRow::setNumBand (int numBand)  {
     510             :         
     511             :         
     512           0 :                 if (hasBeenAdded) {
     513             :                 
     514             :                 }
     515             :         
     516           0 :                 this->numBand = numBand;
     517             :         
     518           0 :         }
     519             :         
     520             :         
     521             : 
     522             :         
     523             : 
     524             :         
     525             :         /**
     526             :          * Get bandType.
     527             :          * @return bandType as DetectorBandTypeMod::DetectorBandType
     528             :          */
     529           0 :         DetectorBandTypeMod::DetectorBandType SquareLawDetectorRow::getBandType() const {
     530             :         
     531           0 :                 return bandType;
     532             :         }
     533             : 
     534             :         /**
     535             :          * Set bandType with the specified DetectorBandTypeMod::DetectorBandType.
     536             :          * @param bandType The DetectorBandTypeMod::DetectorBandType value to which bandType is to be set.
     537             :          
     538             :         
     539             :                 
     540             :          */
     541           0 :         void SquareLawDetectorRow::setBandType (DetectorBandTypeMod::DetectorBandType bandType)  {
     542             :         
     543             :         
     544           0 :                 if (hasBeenAdded) {
     545             :                 
     546             :                 }
     547             :         
     548           0 :                 this->bandType = bandType;
     549             :         
     550           0 :         }
     551             :         
     552             :         
     553             : 
     554             :         
     555             :         ///////////////////////////////////////////////
     556             :         // Extrinsic Table Attributes getters/setters//
     557             :         ///////////////////////////////////////////////
     558             :         
     559             : 
     560             :         //////////////////////////////////////
     561             :         // Links Attributes getters/setters //
     562             :         //////////////////////////////////////
     563             :         
     564             :         
     565             :         /**
     566             :          * Create a SquareLawDetectorRow.
     567             :          * <p>
     568             :          * This constructor is private because only the
     569             :          * table can create rows.  All rows know the table
     570             :          * to which they belong.
     571             :          * @param table The table to which this row belongs.
     572             :          */ 
     573           0 :         SquareLawDetectorRow::SquareLawDetectorRow (SquareLawDetectorTable &t) : table(t) {
     574           0 :                 hasBeenAdded = false;
     575             :                 
     576             :         
     577             :         
     578             : 
     579             :         
     580             : 
     581             :         
     582             : 
     583             :         
     584             :         
     585             :         
     586             :         
     587             :         
     588             : 
     589             :         
     590             : 
     591             :         
     592             : // This attribute is scalar and has an enumeration type. Let's initialize it to some valid value (the 1st of the enumeration).          
     593           0 : bandType = CDetectorBandType::from_int(0);
     594             :         
     595             : 
     596             :         
     597             :         
     598           0 :          fromBinMethods["squareLawDetectorId"] = &SquareLawDetectorRow::squareLawDetectorIdFromBin; 
     599           0 :          fromBinMethods["numBand"] = &SquareLawDetectorRow::numBandFromBin; 
     600           0 :          fromBinMethods["bandType"] = &SquareLawDetectorRow::bandTypeFromBin; 
     601             :                 
     602             :         
     603             :         
     604             :         
     605             :         
     606             :         
     607             :                                  
     608           0 :         fromTextMethods["squareLawDetectorId"] = &SquareLawDetectorRow::squareLawDetectorIdFromText;
     609             :                  
     610             :         
     611             :                                  
     612           0 :         fromTextMethods["numBand"] = &SquareLawDetectorRow::numBandFromText;
     613             :                  
     614             :         
     615             :                                  
     616           0 :         fromTextMethods["bandType"] = &SquareLawDetectorRow::bandTypeFromText;
     617             :                  
     618             :         
     619             : 
     620             :                 
     621           0 :         }
     622             :         
     623           0 :         SquareLawDetectorRow::SquareLawDetectorRow (SquareLawDetectorTable &t, SquareLawDetectorRow *row) : table(t) {
     624           0 :                 hasBeenAdded = false;
     625             :                 
     626           0 :                 if (row == 0) {
     627             :         
     628             :         
     629             :         
     630             : 
     631             :         
     632             : 
     633             :         
     634             : 
     635             :                         
     636             :                 }
     637             :                 else {
     638             :         
     639             :                 
     640           0 :                         squareLawDetectorId = row->squareLawDetectorId;
     641             :                 
     642             :                 
     643             :                 
     644             :                 
     645           0 :                         numBand = row->numBand;
     646             :                 
     647           0 :                         bandType = row->bandType;
     648             :                 
     649             :                 
     650             :                 
     651             :                 
     652             :                 }
     653             :                 
     654           0 :                  fromBinMethods["squareLawDetectorId"] = &SquareLawDetectorRow::squareLawDetectorIdFromBin; 
     655           0 :                  fromBinMethods["numBand"] = &SquareLawDetectorRow::numBandFromBin; 
     656           0 :                  fromBinMethods["bandType"] = &SquareLawDetectorRow::bandTypeFromBin; 
     657             :                         
     658             :         
     659             :                         
     660           0 :         }
     661             : 
     662             :         
     663           0 :         bool SquareLawDetectorRow::compareNoAutoInc(int numBand, DetectorBandTypeMod::DetectorBandType bandType) {
     664             :                 bool result;
     665           0 :                 result = true;
     666             :                 
     667             :         
     668             :                 
     669           0 :                 result = result && (this->numBand == numBand);
     670             :                 
     671           0 :                 if (!result) return false;
     672             :         
     673             : 
     674             :         
     675             :                 
     676           0 :                 result = result && (this->bandType == bandType);
     677             :                 
     678           0 :                 if (!result) return false;
     679             :         
     680             : 
     681           0 :                 return result;
     682             :         }       
     683             :         
     684             :         
     685             :         
     686           0 :         bool SquareLawDetectorRow::compareRequiredValue(int numBand, DetectorBandTypeMod::DetectorBandType bandType) {
     687             :                 bool result;
     688           0 :                 result = true;
     689             :                 
     690             :         
     691           0 :                 if (!(this->numBand == numBand)) return false;
     692             :         
     693             : 
     694             :         
     695           0 :                 if (!(this->bandType == bandType)) return false;
     696             :         
     697             : 
     698           0 :                 return result;
     699             :         }
     700             :         
     701             :         
     702             :         /**
     703             :          * Return true if all required attributes of the value part are equal to their homologues
     704             :          * in x and false otherwise.
     705             :          *
     706             : 
     707             :          * @param x a pointer on the SquareLawDetectorRow whose required attributes of the value part 
     708             : 
     709             :          * will be compared with those of this.
     710             :          * @return a boolean.
     711             :          */
     712           0 :         bool SquareLawDetectorRow::equalByRequiredValue(SquareLawDetectorRow*  x ) {
     713             :                 
     714             :                         
     715           0 :                 if (this->numBand != x->numBand) return false;
     716             :                         
     717           0 :                 if (this->bandType != x->bandType) return false;
     718             :                         
     719             :                 
     720           0 :                 return true;
     721             :         }       
     722             :         
     723             : /*
     724             :          map<string, SquareLawDetectorAttributeFromBin> SquareLawDetectorRow::initFromBinMethods() {
     725             :                 map<string, SquareLawDetectorAttributeFromBin> result;
     726             :                 
     727             :                 result["squareLawDetectorId"] = &SquareLawDetectorRow::squareLawDetectorIdFromBin;
     728             :                 result["numBand"] = &SquareLawDetectorRow::numBandFromBin;
     729             :                 result["bandType"] = &SquareLawDetectorRow::bandTypeFromBin;
     730             :                 
     731             :                 
     732             :                         
     733             :                 
     734             :                 return result;  
     735             :         }
     736             : */      
     737             : } // End namespace asdm
     738             :  

Generated by: LCOV version 1.16