Main Page | Class Hierarchy | Class List | File List | Class Members

joingrps.h

00001 /* libIXAml - IXA Taldea */
00002 
00003 #ifndef _JOINGRPS_H
00004 #define _JOINGRPS_H
00005 
00006 #include "joingrptype.h"
00007 #include "joingrp.h"
00008 #include "join.h"
00009 #include "idreferl.h"
00010 #include "tagorder.h"
00011 #include "xmlsimplestruct.h"
00012 #include <string>
00013 #include <map>
00014 #include <vector>
00015 
00018 class JoinGrpS {
00019   std::vector <JoinGrp> joinGrpV;      // joinGrp multzoak gordetzeko
00020   unsigned ind;                   // bilaketentzako indiziea
00021 
00022   void printErrorea(char*, XMLSimpleNode*, XMLSimpleNode*) const;
00023   XMLSimpleNode* sortuXptr(XMLSimpleStruct*, const std::string & id, const std::string & docRef, const std::string & from) const;
00024   std::map <RefDataErl, Id, TagOrder<RefDataErl> > lortuXptrId() const;  //id-ren XPTR lortzeko informazioa
00025   Join xJoin2Join(const std::map<Id,Id> & xId2Id, const Join & xJoin) const throw (char*);
00026   
00027  public:
00028  
00030   JoinGrpS();
00031 
00035   JoinGrpS(const JoinGrpS & jgs);
00036 
00041   JoinGrpS& operator=(const JoinGrpS & jgs);
00042 
00046   void add(const JoinGrp & jg);
00047 
00051   void remove(const JoinGrp & jg);
00052 
00056   void put(const JoinGrp & jg);
00057 
00060   void removeAll();
00061 
00066   void addJoin(const JoinGrpType & type, const Join & join);
00067 
00072   void removeJoin(const JoinGrpType & type, const Join & join);
00073 
00076   void begin();
00077 
00080   void next();
00081 
00085   bool ready() const;
00086 
00090   JoinGrp current() const;
00091 
00093   void ordenatu();
00094 
00098   unsigned getJoinGrpKop() const;
00099 
00104   JoinGrp getJoinGrp(const unsigned pos) const;
00105 
00110   JoinGrp getJoinGrp(const JoinGrpType & jgt) const;
00111 
00116   XMLSimpleNode* toXML(XMLSimpleStruct* xmlstruct, const IdRefErl & idRefErl) const;    // JoinGroupS-><BODY>..</BODY>
00117   
00121   void init(XMLSimpleNode* joinItem) throw (char*);            // <BODY> ... </BODY> -> JoinGroupS
00122                                                  // char* salbuespena altxa dezake item-en
00123                                                  // informazio falta edo erreferentzi
00124                                                  // erroreak badaude
00125 };
00126 #endif //_JOINGRPS_H

Generated on Tue Sep 11 12:07:43 2007 for libIXAml by doxygen 1.3.5