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

joingrp.h

00001 /* libIXAml - IXA Taldea */
00002 
00003 #ifndef _JOINGRP_H
00004 #define _JOINGRP_H
00005 
00006 #include "join.h"
00007 #include "joingrptype.h"
00008 #include "xmlsimplestruct.h"
00009 #include <vector>
00010 
00013 class JoinGrp {
00014   JoinGrpType joinGrpT;  // Join multzoaren mota
00015   std::vector <Join> jg;    // Join lista duen bektorea
00016   unsigned ind;        // Hasierakoa() zein posizio erakutsi 
00017   
00018   void printErrorea (char*, XMLSimpleNode*) const;
00019  public:
00020 
00022   JoinGrp();
00023 
00027   JoinGrp(const JoinGrpType & type);
00028 
00032   JoinGrp(const JoinGrp & joinGrp);
00033 
00038   JoinGrp& operator=( const JoinGrp & jGrp);
00039 
00044   bool operator==(const JoinGrp & jGrp) const;
00045 
00050   bool operator <  (const JoinGrp & jGrp) const;
00051 
00056   bool operator <= (const JoinGrp & jGrp) const;
00057 
00062   bool operator >  (const JoinGrp & jGrp) const;
00063   
00068   bool operator >= (const JoinGrp & jGrp) const;
00069 
00073   void putType(const JoinGrpType & joinGrpT);
00074 
00078   JoinGrpType getType() const;
00079 
00081   void begin();
00082 
00085   void next();
00086 
00090   Join current() const;
00091 
00095   bool ready() const;
00096 
00100   unsigned size() const;
00101   
00106   bool contains(const JoinId & id) const;
00107  
00112   Join get(const unsigned pos) const;
00113   
00118   Join get(const JoinId & id) const;
00119 
00123   void add(const  Join & join);
00124 
00128   void remove(const Join & join);
00129 
00130   /* ** BILAKETAK ********************************************************** */
00131   /* 1. -> Targets-en artean id duten joinak bilatu eta itzuli               */
00132   /* 2. -> Targets-en artean ind posizioan id duten joinak bilatu eta itzuli */
00133   /* 3. -> Targets-en arten ind1 posizioan id duten joinen ind2 Idak itzuli  */
00134   /* *********************************************************************** */
00135 
00140   std::vector<Join> find (const Id & id) const;
00141 
00148   std::vector<Join> find (const TargetName & name, const Id & id) const;
00149 
00156   std::vector<Id> find (const TargetName & n1, const Id & id1, const TargetName & nResult) const;
00157 
00164   std::vector<Join> find (const unsigned int & pos, const Id & id) const;
00165   
00172   std::vector<Id> find (const unsigned int & pos1, const Id & id1, const unsigned int & pos2) const;
00173 
00178   XMLSimpleNode* toXML(XMLSimpleStruct* xmlstruct) const;           // JoinG -> LT_NSL <JOINGRP> ... </JOINGRP>
00179 
00183   void init(XMLSimpleNode* joinGrpItem) throw (char*);   // <JOINGRP> ... </BODY> -> JoinG
00184                                         // char* salbuespena altxa dezake itemen informazio
00185                                         // falta edo erreferentzi erroreak badaude
00186 };
00187 #endif //_JOINGRP_H

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