34 #ifndef ScanTable_CLASS
35 #define ScanTable_CLASS
102 #include <asdmIDLC.h>
263 static const std::vector<std::string>&
getKeyName();
280 unsigned int size()
const;
298 static std::string
name() ;
338 std::string
toXML() ;
347 asdmIDL::ScanTableIDL *
toIDL() ;
356 void toIDL(asdmIDL::ScanTableIDL& x)
const;
367 void fromIDL(asdmIDL::ScanTableIDL x) ;
404 ScanRow *
newRow(
Tag execBlockId,
int scanNumber,
ArrayTime startTime,
ArrayTime endTime,
int numIntent,
int numSubscan, std::vector<ScanIntentMod::ScanIntent > scanIntent, std::vector<CalDataOriginMod::CalDataOrigin > calDataType, std::vector<bool > calibrationOnLine);
454 std::vector<ScanRow *>
get() ;
462 const std::vector<ScanRow *>&
get()
const ;
510 ScanRow*
lookup(
Tag execBlockId,
int scanNumber,
ArrayTime startTime,
ArrayTime endTime,
int numIntent,
int numSubscan, std::vector<ScanIntentMod::ScanIntent > scanIntent, std::vector<CalDataOriginMod::CalDataOrigin > calDataType, std::vector<bool > calibrationOnLine);
576 std::vector<ScanRow *>
row;
634 void toFile(std::string directory);
std::map< std::string, BinaryAttributeReaderFunctor * > unknownAttributes2Functors
asdmIDL::ScanTableIDL * toIDL()
Conversion Methods.
void fromXML(std::string &xmlDoc)
Populate this table from the content of a XML document that is required to be conform to the XML sche...
ScanRow * lookup(Tag execBlockId, int scanNumber, ArrayTime startTime, ArrayTime endTime, int numIntent, int numSubscan, std::vector< ScanIntentMod::ScanIntent > scanIntent, std::vector< CalDataOriginMod::CalDataOrigin > calDataType, std::vector< bool > calibrationOnLine)
Look up the table for a row whose all attributes are equal to the corresponding parameters of the met...
static const ByteOrder * Machine_Endianity
std::string MIMEXMLPart(const asdm::ByteOrder *byteOrder=asdm::ByteOrder::Machine_Endianity)
Private methods involved during the export of this table into disk file(s).
ScanRow * getRowByKey(Tag execBlockId, int scanNumber)
Returns a ScanRow* given a key.
std::string toXML()
Produces an XML representation conform to the schema defined for Scan (ScanTable.xsd).
BinaryAttributeReaderFunctor * getUnknownAttributeBinaryReader(const std::string &attributeName) const
void setFromFile(const std::string &directory)
Reads and parses a file containing a representation of a ScanTable as those produced by the toFile me...
static const std::vector< std::string > & getKeyName()
Return the list of field names that make up key key as an array of strings.
A class to represent byte order information.
unsigned int size() const
Return the number of rows in the table.
ScanRow * add(ScanRow *x)
====> Append a row to its table.
ScanTable(ASDM &container)
Create a ScanTable.
static std::string name()
Return the name of this table.
The ASDM class is the container for all tables.
std::string getName() const
Return the name of this table.
void checkPresenceInMemory()
static const std::vector< std::string > & defaultAttributesNamesInBin()
Return the default sorted list of attributes names in the binary representation of the table...
void setFromMIMEFile(const std::string &directory)
Private methods involved during the build of this table out of the content of file(s) containing an e...
std::string toMIME(const asdm::ByteOrder *byteOrder=asdm::ByteOrder::Machine_Endianity)
Serialize this into a stream of bytes and encapsulates that stream into a MIME message.
void setEntity(Entity e)
Set this table's Entity.
bool loadInProgress
Load the table in memory if necessary.
Entity getEntity() const
Return this table's Entity.
ASDM & getContainer() const
Return the container to which this table belongs.
void toFile(std::string directory)
Stores a representation (binary or XML) of this table into a file.
static const std::vector< std::string > & getAttributesNames()
Return the names of the attributes of this table.
void fromIDL(asdmIDL::ScanTableIDL x)
Populate this table from the content of a ScanTableIDL Corba structure.
The ArrayTime class implements the concept of a point in time, implemented as an Interval of time sin...
std::string getVersion() const
Return the version information about this table.
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
ScanRow * checkAndAdd(ScanRow *x, bool skipCheckUniqueness=false)
If this table has an autoincrementable attribute then check if *x verifies the rule of uniqueness and...
void setUnknownAttributeBinaryReader(const std::string &attributeName, BinaryAttributeReaderFunctor *barFctr)
A pure virtual class whose derived classes are expected to be functors whose behaviours will be to re...
The Representable interface is implemented by all tables and by the container.
ScanRow * newRow()
====> Row creation.
const Double e
e and functions thereof:
std::vector< ScanRow * > row
void addWithoutCheckingUnique(ScanRow *x)
Brutally append an ScanRow x to the collection of rows already stored in this table.
std::vector< ScanRow * > privateRows
A data structure to store the pointers on the table's rows.
void setFromMIME(const std::string &mimeMsg)
Extracts the binary part of a MIME message and deserialize its content to fill this with the result o...
void setFromXMLFile(const std::string &directory)
void append(ScanRow *x)
Brutally append an ScanRow x to the collection of rows already stored in this table.
The ScanTable class is an Alma table.
The ScanRow class is a row of a ScanTable.
The Entity class is an identification of a persistant entity in the ALMA archive. ...