casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HolographyRow.h
Go to the documentation of this file.
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 HolographyRow.h
32  */
33 
34 #ifndef HolographyRow_CLASS
35 #define HolographyRow_CLASS
36 
37 #include <vector>
38 #include <string>
39 #include <set>
40 
41 #ifndef WITHOUT_ACS
42 #include <asdmIDLC.h>
43 #endif
44 
45 
46 
47 
48 
49 
50 
51 #include <alma/ASDM/Length.h>
52 
53 
54 
55 #include <alma/ASDM/Tag.h>
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
71 
72 
73 
74 
76 #include <alma/ASDM/NoSuchRow.h>
78 
80 //#include <alma/ASDM/TableStreamReader.h>
81 
82 /*\file Holography.h
83  \brief Generated from model's revision "-1", branch ""
84 */
85 
86 namespace asdm {
87 
88 //class asdm::HolographyTable;
89 
90 
91 
92 class HolographyRow;
94 typedef void (HolographyRow::*HolographyAttributeFromText) (const std::string& s);
95 
105 //friend class asdm::TableStreamReader<HolographyTable, HolographyRow>;
106 
107 public:
108 
109  virtual ~HolographyRow();
110 
114  HolographyTable &getTable() const;
115 
120  bool isAdded() const;
121 
123  // Intrinsic Table Attributes //
125 
126 
127  // ===> Attribute holographyId
128 
129 
130 
131 
132 
137  Tag getHolographyId() const;
138 
139 
140 
141 
142 
143 
144 
145 
146 
147  // ===> Attribute distance
148 
149 
150 
151 
152 
157  Length getDistance() const;
158 
159 
160 
161 
169  void setDistance (Length distance);
170 
171 
172 
173 
174 
175 
176 
177  // ===> Attribute focus
178 
179 
180 
181 
182 
187  Length getFocus() const;
188 
189 
190 
191 
199  void setFocus (Length focus);
200 
201 
202 
203 
204 
205 
206 
207  // ===> Attribute numCorr
208 
209 
210 
211 
212 
217  int getNumCorr() const;
218 
219 
220 
221 
229  void setNumCorr (int numCorr);
230 
231 
232 
233 
234 
235 
236 
237  // ===> Attribute type
238 
239 
240 
241 
242 
247  std::vector<HolographyChannelTypeMod::HolographyChannelType > getType() const;
248 
249 
250 
251 
259  void setType (std::vector<HolographyChannelTypeMod::HolographyChannelType > type);
260 
261 
262 
263 
264 
265 
267  // Extrinsic Table Attributes //
269 
271  // Links //
273 
274 
275 
276 
290  bool compareNoAutoInc(Length distance, Length focus, int numCorr, std::vector<HolographyChannelTypeMod::HolographyChannelType > type);
291 
292 
293 
294 
308  bool compareRequiredValue(Length distance, Length focus, int numCorr, std::vector<HolographyChannelTypeMod::HolographyChannelType > type);
309 
310 
320 
321 #ifndef WITHOUT_ACS
322 
326  asdmIDL::HolographyRowIDL *toIDL() const;
327 
335  void toIDL(asdmIDL::HolographyRowIDL& x) const;
336 #endif
337 
338 #ifndef WITHOUT_ACS
339 
344  void setFromIDL (asdmIDL::HolographyRowIDL x) ;
345 #endif
346 
351  std::string toXML() const;
352 
359  void setFromXML (std::string rowDoc) ;
360 
363  // binary-deserialization material from an EndianIStream //
365 
366  std::map<std::string, HolographyAttributeFromBin> fromBinMethods;
368 void distanceFromBin( EndianIStream& eis);
369 void focusFromBin( EndianIStream& eis);
370 void numCorrFromBin( EndianIStream& eis);
371 void typeFromBin( EndianIStream& eis);
372 
373 
374 
382  static HolographyRow* fromBin(EndianIStream& eis, HolographyTable& table, const std::vector<std::string>& attributesSeq);
383 
390  void fromText(const std::string& attributeName, const std::string& t);
392 
393 private:
402 
403  // This method is used by the Table class when this row is added to the table.
404  void isAdded(bool added);
405 
406 
416 
435 
437  // Intrinsic Table Attributes //
439 
440 
441  // ===> Attribute holographyId
442 
443 
444 
445  Tag holographyId;
446 
447 
448 
449 
459  void setHolographyId (Tag holographyId);
460 
461 
462 
463 
464  // ===> Attribute distance
465 
466 
467 
469 
470 
471 
472 
473 
474 
475  // ===> Attribute focus
476 
477 
478 
480 
481 
482 
483 
484 
485 
486  // ===> Attribute numCorr
487 
488 
489 
490  int numCorr;
491 
492 
493 
494 
495 
496 
497  // ===> Attribute type
498 
499 
500 
501  std::vector<HolographyChannelTypeMod::HolographyChannelType > type;
502 
503 
504 
505 
506 
508  // Extrinsic Table Attributes //
510 
512  // Links //
514 
515 
516 /*
518  // binary-deserialization material from an EndianIStream //
520  std::map<std::string, HolographyAttributeFromBin> fromBinMethods;
521 void holographyIdFromBin( EndianIStream& eis);
522 void distanceFromBin( EndianIStream& eis);
523 void focusFromBin( EndianIStream& eis);
524 void numCorrFromBin( EndianIStream& eis);
525 void typeFromBin( EndianIStream& eis);
526 
527 
528 */
529 
531  // text-deserialization material //
533  std::map<std::string, HolographyAttributeFromText> fromTextMethods;
534 
535 void holographyIdFromText (const std::string & s);
536 
537 
538 void distanceFromText (const std::string & s);
539 
540 
541 void focusFromText (const std::string & s);
542 
543 
544 void numCorrFromText (const std::string & s);
545 
546 
547 void typeFromText (const std::string & s);
548 
549 
550 
551 
556  void toBin(EndianOSStream& eoss);
557 
567 };
568 
569 } // End namespace asdm
570 
571 #endif /* Holography_CLASS */
void typeFromBin(EndianIStream &eis)
Extrinsic Table Attributes Links *binary deserialization material from an EndianIStream std::map< std::string, HolographyAttributeFromBin > fromBinMethods
The HolographyRow class is a row of a HolographyTable.
void setType(std::vector< HolographyChannelTypeMod::HolographyChannelType > type)
Set type with the specified std::vector&lt;HolographyChannelTypeMod::HolographyChannelType &gt;...
void setFocus(Length focus)
Set focus with the specified Length.
void setFromXML(std::string rowDoc)
Fill the values of this row from an XML string that was produced by the toXML() method.
void typeFromText(const std::string &s)
std::string toXML() const
Return this row in the form of an XML string.
bool hasBeenAdded
Whether this row has been added to the table or not.
void numCorrFromBin(EndianIStream &eis)
std::vector< HolographyChannelTypeMod::HolographyChannelType > getType() const
===&gt; Attribute type
HolographyTable & getTable() const
Return the table to which this row belongs.
void setDistance(Length distance)
Set distance with the specified Length.
Length getDistance() const
===&gt; Attribute distance
Extrinsic Table Attributes Links *bool compareNoAutoInc(Length distance, Length focus, int numCorr, std::vector< HolographyChannelTypeMod::HolographyChannelType > type)
Compare each mandatory attribute except the autoincrementable one of this HolographyRow with the corr...
void setFromIDL(asdmIDL::HolographyRowIDL x)
Fill the values of this row from the IDL struct HolographyRowIDL.
Length getFocus() const
===&gt; Attribute focus
void(HolographyRow::* HolographyAttributeFromBin)(EndianIStream &eis)
Definition: HolographyRow.h:93
The HolographyTable class is an Alma table.
void(HolographyRow::* HolographyAttributeFromText)(const std::string &s)
Definition: HolographyRow.h:94
The Length class implements a quantity of length in meters.
Definition: Length.h:53
void distanceFromText(const std::string &s)
virtual ~HolographyRow()
friend class asdm::TableStreamReader&lt;HolographyTable, HolographyRow&gt;;
HolographyRow(HolographyTable &table)
Create a HolographyRow.
void numCorrFromText(const std::string &s)
void focusFromBin(EndianIStream &eis)
bool compareRequiredValue(Length distance, Length focus, int numCorr, std::vector< HolographyChannelTypeMod::HolographyChannelType > type)
Compare each mandatory value (i.e.
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
Definition: Tag.h:73
Length distance
===&gt; Attribute distance
void focusFromText(const std::string &s)
bool isAdded() const
Has this row been added to its table ?
*text deserialization material std::map< std::string, HolographyAttributeFromText > fromTextMethods
void setNumCorr(int numCorr)
Set numCorr with the specified int.
void holographyIdFromBin(EndianIStream &eis)
Length focus
===&gt; Attribute focus
HolographyTable & table
The table to which this row belongs.
bool equalByRequiredValue(HolographyRow *x)
Return true if all required attributes of the value part are equal to their homologues in x and false...
std::vector< HolographyChannelTypeMod::HolographyChannelType > type
===&gt; Attribute type
void toBin(EndianOSStream &eoss)
Serialize this into a stream of bytes written to an EndianOSStream.
asdmIDL::HolographyRowIDL * toIDL() const
Return this row in the form of an IDL struct.
int numCorr
===&gt; Attribute numCorr
void setHolographyId(Tag holographyId)
Set holographyId with the specified Tag value.
void holographyIdFromText(const std::string &s)
int getNumCorr() const
===&gt; Attribute numCorr
void distanceFromBin(EndianIStream &eis)