Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

dbobjdefinition.hpp

Go to the documentation of this file.
00001 #if !defined(_DBOBJDEFINITION_HPP)
00002 #define _DBOBJDEFINITION_HPP
00003 //============================================================================= 
00004 //
00005 // XDFLengine library
00006 //
00007 //----------------------------------------------------------------------------- 
00008 //  DBOBJDEFINITION.HPP
00009 //----------------------------------------------------------------------------- 
00015 //_____________________________________________________________________________
00016 //
00017 //  Copyright (C) 2003 Guillaume Baurand. All Rights Reserved.
00018 //
00019 //  This file is part of the XDFLengine project.
00020 //
00021 //  The XDFLengine is free software; you can redistribute it and/or modify
00022 //  it under the terms of the GNU General Public License as published by
00023 //  the Free Software Foundation; either version 2 of the License, or
00024 //  (at your option) any later version.
00025 //
00026 //  This program is distributed in the hope that it will be useful,
00027 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00028 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00029 //  GNU General Public License for more details.
00030 //
00031 //  You should have received a copy of the GNU General Public License
00032 //  along with this program; if not, write to the Free Software
00033 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
00034 //  USA.
00035 //
00036 //  For more information, 
00037 //      contact  : guillaume@baurand.net 
00038 //      or visit : http://xdflengine.sourceforge.net
00039 //
00040 //=============================================================================
00041 
00042 #   include "config/commonincs.hpp"
00043 #   include "processor/xmlflowcontext.hpp"
00044 #   include "flow/buffers/xmlbuffers.hpp"
00045 
00046 BEGIN_XDFLENGINE_NS
00047 
00048 class DBOBJDefinitionField;
00049 class DBOBJDefinitionNode;
00050 
00051 typedef struct _DBOBJDefinitionFieldsPair
00052 {
00053     DBOBJDefinitionField* first;
00054     DBOBJDefinitionField* second;
00055 } DBOBJDefinitionFieldsPair;
00056 
00057 
00058 
00059 //============================================================================= 
00060 //  CLASS DBOBJDEFINITION
00061 //----------------------------------------------------------------------------- 
00063 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00064 class XDFLENGINE_EXPORT DBOBJDefinition
00065 {
00066 };
00067 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00068 //============================================================================= 
00069 
00070 
00071 
00072 //============================================================================= 
00073 //  CLASS DBOBJDEFINITIONFIELD
00074 //----------------------------------------------------------------------------- 
00076 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00077 class XDFLENGINE_EXPORT DBOBJDefinitionField : public DBOBJDefinition
00078 {
00079 
00080     private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00081 
00082         char*               m_pszName;          
00083         char*               m_pszDBField;       
00084         char*               m_pszDBAlias;       
00085         char*               m_pszMap;           
00086         char*               m_pszIValue;        
00087         char*               m_pszUValue;        
00088         char*               m_pszDValue;        
00089         char*               m_pszValue;         
00090         char*               m_pszDateFormat;    
00091         char*               m_pszDBSpecProps;   
00092         bool                m_boolHidden;       
00093         bool                m_boolIsPkey;       
00094         bool                m_boolAttribute;    
00095         DBOBJDefinitionNode*    m_DBOBJParentNode;  
00096 
00097 
00098     public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00099 
00100     // CONSTRUCTOR & DESTRUCTOR
00101 
00102         //_____________________________________________________________________
00103         //  ~DBOBJECTNODE
00104         //---------------------------------------------------------------------
00107         //_____________________________________________________________________
00108         DBOBJDefinitionField();
00109 
00110 
00111         //_____________________________________________________________________
00112         //  ~DBOBJECTNODE
00113         //---------------------------------------------------------------------
00116         //_____________________________________________________________________
00117         ~DBOBJDefinitionField();
00118 
00119     // GETTERS
00120 
00121         //_____________________________________________________________________
00122         //  GETNAME
00123         //---------------------------------------------------------------------
00126         //_____________________________________________________________________
00127         const char* getName() const;
00128 
00129         //_____________________________________________________________________
00130         //  GETDBFIELD
00131         //---------------------------------------------------------------------
00134         //_____________________________________________________________________
00135         const char* getDBField() const;
00136 
00137         //_____________________________________________________________________
00138         //  GETDBALIAS
00139         //---------------------------------------------------------------------
00142         //_____________________________________________________________________
00143         const char* getDBAlias() const;
00144 
00145         //_____________________________________________________________________
00146         //  GETMAP
00147         //---------------------------------------------------------------------
00150         //_____________________________________________________________________
00151         const char* getMap() const;
00152 
00153         //_____________________________________________________________________
00154         //  GETIVALUE
00155         //---------------------------------------------------------------------
00159         //_____________________________________________________________________
00160         const char* getIValue() const;
00161 
00162         //_____________________________________________________________________
00163         //  GETUVALUE
00164         //---------------------------------------------------------------------
00168         //_____________________________________________________________________
00169         const char* getUValue() const;
00170 
00171         //_____________________________________________________________________
00172         //  GETDVALUE
00173         //---------------------------------------------------------------------
00177         //_____________________________________________________________________
00178         const char* getDValue() const;
00179 
00180         //_____________________________________________________________________
00181         //  GETVALUE
00182         //---------------------------------------------------------------------
00186         //_____________________________________________________________________
00187         const char* getValue() const;
00188 
00189         //_____________________________________________________________________
00190         //  GETDATEFORMAT
00191         //---------------------------------------------------------------------
00194         //_____________________________________________________________________
00195         const char* getDateFormat() const;      
00196         
00197         //_____________________________________________________________________
00198         //  GETDBSPECPROPS
00199         //---------------------------------------------------------------------
00205         //_____________________________________________________________________
00206         const char* getDBSpecProps() const;
00207 
00208         //_____________________________________________________________________
00209         //  ISATTRIBUTE
00210         //---------------------------------------------------------------------
00213         //_____________________________________________________________________
00214         bool isAttribute() const;
00215 
00216         //_____________________________________________________________________
00217         //  ISHIDDEN
00218         //---------------------------------------------------------------------
00221         //_____________________________________________________________________
00222         bool isHidden() const;
00223 
00224         //_____________________________________________________________________
00225         //  ISPKEY
00226         //---------------------------------------------------------------------
00229         //_____________________________________________________________________
00230         bool isPkey() const;
00231 
00232         //_____________________________________________________________________
00233         //  GETPARENT
00234         //---------------------------------------------------------------------
00237         //_____________________________________________________________________
00238         DBOBJDefinitionNode* getParent() const;
00239 
00240 
00241     // SETTERS
00242 
00243         //_____________________________________________________________________
00244         //  SETNAME
00245         //---------------------------------------------------------------------
00248         //_____________________________________________________________________
00249         void setName ( const char* p_szName);
00250 
00251         //_____________________________________________________________________
00252         //  SETDBFIELD
00253         //---------------------------------------------------------------------
00256         //_____________________________________________________________________
00257         void setDBField ( const char* p_szDBField);
00258 
00259         //_____________________________________________________________________
00260         //  SETDBALIAS
00261         //---------------------------------------------------------------------
00264         //_____________________________________________________________________
00265         void setDBAlias ( const char* p_szDBAlias);
00266 
00267         //_____________________________________________________________________
00268         //  SETMAP
00269         //---------------------------------------------------------------------
00272         //_____________________________________________________________________
00273         void setMap ( const char* p_szMap);
00274 
00275         //_____________________________________________________________________
00276         //  SETIVALUE
00277         //---------------------------------------------------------------------
00280         //_____________________________________________________________________
00281         void setIValue ( const char* p_szIValue);
00282 
00283         //_____________________________________________________________________
00284         //  SETUVALUE
00285         //---------------------------------------------------------------------
00288         //_____________________________________________________________________
00289         void setUValue ( const char* p_szUValue);
00290 
00291         //_____________________________________________________________________
00292         //  SETDVALUE
00293         //---------------------------------------------------------------------
00296         //_____________________________________________________________________
00297         void setDValue ( const char* p_szDValue);
00298 
00299         //_____________________________________________________________________
00300         //  SETVALUE
00301         //---------------------------------------------------------------------
00304         //_____________________________________________________________________
00305         void setValue ( const char* p_szValue);
00306 
00307         //_____________________________________________________________________
00308         //  SETVALUE
00309         //---------------------------------------------------------------------
00312         //_____________________________________________________________________
00313         void setDateFormat ( const char* p_szDateFormat);       
00314         
00315         //_____________________________________________________________________
00316         //  SETDBSPECPROPS
00317         //---------------------------------------------------------------------
00321         //_____________________________________________________________________
00322         void setDBSpecProps ( const char* p_szDBSpecProps);
00323 
00324         //_____________________________________________________________________
00325         //  SETATTRIBUTE
00326         //---------------------------------------------------------------------
00329         //_____________________________________________________________________
00330         void setAttribute ( bool p_boolAttribute);
00331 
00332         //_____________________________________________________________________
00333         //  SETHIDDEN
00334         //---------------------------------------------------------------------
00337         //_____________________________________________________________________
00338         void setHidden ( bool p_boolHidden);
00339 
00340         //_____________________________________________________________________
00341         //  SETPKEY
00342         //---------------------------------------------------------------------
00345         //_____________________________________________________________________
00346         void setPkey ( bool p_boolPkey);
00347 
00348         //_____________________________________________________________________
00349         //  SETPARENT
00350         //---------------------------------------------------------------------
00353         //_____________________________________________________________________
00354         void setParent ( DBOBJDefinitionNode* p_pParentDefinition);
00355 
00356     // FUNCTIONNALITIES
00357 
00358         //_____________________________________________________________________
00359         //  getXML
00360         //---------------------------------------------------------------------
00363         //_____________________________________________________________________
00364         void getXML (XMLStreamConsumer* p_pXMLBufOut);
00365 };
00366 //=============================================================================
00367 
00368 
00369 
00370 
00371 
00372 //============================================================================= 
00373 //  CLASS DBOBJDEFINITIONNODE
00374 //----------------------------------------------------------------------------- 
00376 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00377 class XDFLENGINE_EXPORT DBOBJDefinitionNode : public DBOBJDefinition
00378 {
00379 
00380     private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00381 
00382         VAarray<DBOBJDefinitionNode*>       m_vaChildren;   
00383         VAarray<DBOBJDefinitionField* >     m_vaFields;     
00384         VAarray<DBOBJDefinitionField* >     m_vaPkeys;      
00385         VAarray<DBOBJDefinitionFieldsPair*> m_vaKeyLinks;  
00386         DBOBJDefinitionNode*    m_DBOBJParentNode;      
00387         char*                   m_pszName;              
00388         char*                   m_pszDBTable;           
00389         char*                   m_pszRestrict;          
00390         char*                   m_pszCheckPre;          
00391         char*                   m_pszCheckPost;         
00392         char*                   m_pszOnInsert;
00393         char*                   m_pszOnUpdate;
00394         char*                   m_pszOnDelete;
00395         bool                    m_boolLocked;           
00396         bool                    m_boolDistinct;         
00397 
00398 
00399     public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00400 
00401     // CONSTRUCTOR & DESTRUCTOR
00402         //_____________________________________________________________________
00403         //  DBOBJDEFINITIONNODE
00404         //---------------------------------------------------------------------
00407         //_____________________________________________________________________
00408         DBOBJDefinitionNode();
00409 
00410         //_____________________________________________________________________
00411         //  ~DBOBJDEFINITIONNODE
00412         //---------------------------------------------------------------------
00415         //_____________________________________________________________________
00416         ~DBOBJDefinitionNode();
00417 
00418  
00419     // GETTERS
00420 
00421         //_____________________________________________________________________
00422         //  GETNAME
00423         //---------------------------------------------------------------------
00425         //
00427         //_____________________________________________________________________
00428         const char* getName() const;
00429 
00430         //_____________________________________________________________________
00431         //  GETDBTABLE
00432         //---------------------------------------------------------------------
00435         //_____________________________________________________________________
00436         const char* getDBTable() const;
00437 
00438         //_____________________________________________________________________
00439         //  GETRESTRICT
00440         //---------------------------------------------------------------------
00443         //_____________________________________________________________________
00444         const char* getRestrict() const;
00445 
00446 
00447         //_____________________________________________________________________
00448         //  GETCHECKPRE
00449         //---------------------------------------------------------------------
00452         //_____________________________________________________________________
00453         const char* getCheckPre() const;
00454 
00455         //_____________________________________________________________________
00456         //  GETCHECKPOST
00457         //---------------------------------------------------------------------
00460         //_____________________________________________________________________
00461         const char* getCheckPost() const;
00462 
00463         //_____________________________________________________________________
00464         //  ISLOCKED
00465         //---------------------------------------------------------------------
00468         //_____________________________________________________________________
00469         bool isLocked() const;
00470 
00471         //_____________________________________________________________________
00472         //  ISDISTINCT
00473         //---------------------------------------------------------------------
00476         //_____________________________________________________________________
00477         bool isDistinct() const;
00478 
00479         //_____________________________________________________________________
00480         //  GETPARENT
00481         //---------------------------------------------------------------------
00484         //_____________________________________________________________________
00485         DBOBJDefinitionNode* getParent() const;  
00486 
00487     // Setters
00488 
00489         //_____________________________________________________________________
00490         //  SETNAME
00491         //---------------------------------------------------------------------
00494         //_____________________________________________________________________
00495         void setName( const char* p_szName);
00496 
00497         //_____________________________________________________________________
00498         //  SETDBTABLE
00499         //---------------------------------------------------------------------
00502         //_____________________________________________________________________
00503         void setDBtable( const char* p_szDBTable);
00504 
00505         //_____________________________________________________________________
00506         //  SETRESTRICT
00507         //---------------------------------------------------------------------
00510         //_____________________________________________________________________
00511         void setRestrict( const char* p_szRestrict);
00512 
00513         //_____________________________________________________________________
00514         //  SETCHECKPRE
00515         //---------------------------------------------------------------------
00518         //_____________________________________________________________________
00519         void setCheckPre( const char* p_szCheckPre);
00520 
00521         //_____________________________________________________________________
00522         //  SETCHECKPOST
00523         //---------------------------------------------------------------------
00526         //_____________________________________________________________________
00527         void setCheckPost( const char* p_szCheckPost);
00528 
00529         //_____________________________________________________________________
00530         //  SETLOCKED
00531         //---------------------------------------------------------------------
00534         //_____________________________________________________________________
00535         void setLocked( bool p_boolLocked);
00536 
00537         //_____________________________________________________________________
00538         //  SETDISTINCT
00539         //---------------------------------------------------------------------
00542         //_____________________________________________________________________
00543         void setDistinct( bool p_boolDistinct);
00544 
00545         //_____________________________________________________________________
00546         //  SETPARENT
00547         //---------------------------------------------------------------------
00550         //_____________________________________________________________________
00551         void setParent( DBOBJDefinitionNode* p_pParentDefinition);
00552 
00553     // EVENTS
00554 
00555         //_____________________________________________________________________
00556         //  GETONDELETE
00557         //---------------------------------------------------------------------
00558         const char* getOnDelete() const ;
00559 
00560         //_____________________________________________________________________
00561         //  GETONINSERT
00562         //---------------------------------------------------------------------
00563         const char* getOnInsert() const ;
00564 
00565         //_____________________________________________________________________
00566         //  GETONUPDATE
00567         //---------------------------------------------------------------------
00568         const char* getOnUpdate() const ;
00569 
00570         //_____________________________________________________________________
00571         //  SETONDELETE
00572         //---------------------------------------------------------------------
00573         void setOnDelete( const char* p_pszOnDelete);
00574 
00575         //_____________________________________________________________________
00576         //  SETONINSERT
00577         //---------------------------------------------------------------------
00578         void setOnInsert( const char* p_pszOnInsert);
00579 
00580         //_____________________________________________________________________
00581         //  SETONUPDATE
00582         //---------------------------------------------------------------------
00583         void setOnUpdate( const char* p_pszOnUpdate);
00584 
00585 
00586     // CHILDREN COLLECTION ACCESSORS & BUILDERS
00587 
00588         //_____________________________________________________________________
00589         //  ADDCHILD
00590         //---------------------------------------------------------------------
00593         //_____________________________________________________________________
00594         void addChild( DBOBJDefinitionNode* p_ChildDefinition);
00595 
00596         //_____________________________________________________________________
00597         //  REMOVECHILD
00598         //----------------------------------------------.-----------------------
00602         //_____________________________________________________________________
00603         void removeChild( unsigned int p_uiIndex, bool p_boolDestroy=true);
00604 
00605         //_____________________________________________________________________
00606         //  REMOVECHILD
00607         //---------------------------------------------------------------------
00611         //_____________________________________________________________________
00612         void removeChild( const char* p_szName, bool p_boolDestroy=true);
00613 
00614         //_____________________________________________________________________
00615         //  GETCHILDNODESCOUNT
00616         //---------------------------------------------------------------------
00619         //_____________________________________________________________________
00620         unsigned int getChildNodesCount() const;
00621 
00622         //_____________________________________________________________________
00623         //  GETCHILDNODE
00624         //---------------------------------------------------------------------
00628         //_____________________________________________________________________
00629         DBOBJDefinitionNode* getChildNode( unsigned int p_uiIndex)  const;
00630 
00631         //_____________________________________________________________________
00632         //  GETCHILDNODE
00633         //---------------------------------------------------------------------
00637         //_____________________________________________________________________
00638         DBOBJDefinitionNode* getChildNode( const char* p_szName) const;
00639         
00640     // FIELDS COLLECTION ACCESSORS & BUILDERS
00641 
00642         //_____________________________________________________________________
00643         //  ADDFIELD
00644         //---------------------------------------------------------------------
00647         //_____________________________________________________________________
00648         void addField( DBOBJDefinitionField* p_pFieldDefinition);
00649 
00650         //_____________________________________________________________________
00651         //  REMOVEFIELD
00652         //---------------------------------------------------------------------
00656         //_____________________________________________________________________
00657         void removeField( unsigned int p_uiIndex, bool p_boolDestroy=true);
00658 
00659         //_____________________________________________________________________
00660         //  REMOVEFIELD
00661         //---------------------------------------------------------------------
00665         //_____________________________________________________________________
00666         void removeField( const char* p_szName, bool p_boolDestroy=true);
00667 
00668         //_____________________________________________________________________
00669         //  GETFIELDSCOUNT
00670         //---------------------------------------------------------------------
00673         //_____________________________________________________________________
00674         unsigned int getFieldsCount() const;
00675 
00676         //_____________________________________________________________________
00677         //  GETFIELD
00678         //---------------------------------------------------------------------
00682         //_____________________________________________________________________
00683         DBOBJDefinitionField* getField( unsigned int p_uiIndex) const;
00684 
00685         //_____________________________________________________________________
00686         //  GETFIELD
00687         //---------------------------------------------------------------------
00691         //_____________________________________________________________________
00692         DBOBJDefinitionField* getField( const char* p_szName) const;  
00693 
00694     // PKEYS COLLECTION ACCESSORS
00695 
00696         //_____________________________________________________________________
00697         //  ADDPKEY
00698         //---------------------------------------------------------------------
00702         //_____________________________________________________________________
00703         void addPkey( const char* p_szName);
00704 
00705         //_____________________________________________________________________
00706         //  REMPKEY
00707         //---------------------------------------------------------------------
00710         //_____________________________________________________________________
00711         void remPkey( unsigned int p_index);
00712 
00713         //_____________________________________________________________________
00714         //  GETPKEYSCOUNT
00715         //---------------------------------------------------------------------
00718         //_____________________________________________________________________
00719         unsigned int getPkeysCount () const;
00720 
00721         //_____________________________________________________________________
00722         //  GETPKEY
00723         //---------------------------------------------------------------------
00727         //_____________________________________________________________________
00728         DBOBJDefinitionField* getPkey ( unsigned int p_uiIndex) const;
00729 
00730         //_____________________________________________________________________
00731         //  GETPKEY
00732         //---------------------------------------------------------------------
00736         //_____________________________________________________________________
00737         DBOBJDefinitionField* getPkey( const char* p_pszName) const;
00738 
00739     // KEYSLINKS COLLECTION ACCESSORS 
00740 
00741         //_____________________________________________________________________
00742         //  ADDKEYLINK
00743         //---------------------------------------------------------------------
00748         //_____________________________________________________________________
00749         void addKeyLink ( const char* p_szLocalName, const char* p_szParentName);
00750 
00751         //_____________________________________________________________________
00752         //  REMKEYLINK
00753         //---------------------------------------------------------------------
00756         //_____________________________________________________________________
00757         void remKeyLink ( unsigned int p_uiIndex);
00758 
00759         //_____________________________________________________________________
00760         //  GETKEYLINKSCOUNT
00761         //---------------------------------------------------------------------
00764         //_____________________________________________________________________
00765         unsigned int    getKeyLinksCount() const;
00766 
00767         //_____________________________________________________________________
00768         //  getKeyLink
00769         //---------------------------------------------------------------------
00773         //_____________________________________________________________________
00774         DBOBJDefinitionFieldsPair* getKeyLink( unsigned int p_uiIndex) const;
00775 
00776         //_____________________________________________________________________
00777         //  getKeyLink
00778         //---------------------------------------------------------------------
00782         //_____________________________________________________________________
00783         DBOBJDefinitionFieldsPair* getKeyLink( const char* p_pszName) const;
00784 
00785     // FUNCTIONNALITIES
00786 
00787         //_____________________________________________________________________
00788         //  GETXML
00789         //---------------------------------------------------------------------
00792         //_____________________________________________________________________
00793         void getXML(XMLStreamConsumer* p_pXMLBufOut);
00794 
00795 
00796     private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00797    
00798         //_____________________________________________________________________
00799         //  REMOVENAMEDFIELD
00800         //---------------------------------------------------------------------
00803         //_____________________________________________________________________
00804         DBOBJDefinitionField* removeNamedField( const char* p_szName);
00805 
00806         //_____________________________________________________________________
00807         //  DELETETREE
00808         //---------------------------------------------------------------------
00810         //_____________________________________________________________________
00811         void deleteTree();
00812 
00813 };
00814 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00815 //=============================================================================
00816 
00817 
00818 
00819 
00820 //============================================================================= 
00821 //  CLASS SAXDBOBJDEFINITIONBUILDER
00822 //----------------------------------------------------------------------------- 
00824 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00825 class XDFLENGINE_EXPORT SAXDBOBJDefinitionBuilder : public ContentHandler
00826 {
00827 
00828     private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00829         VAarray< DBOBJDefinitionNode* >     m_vaNodes;      
00830         VAarray< char* >                    m_vaPkeysList;
00831         VAarray< char* >                    m_vaInkeysList;
00832         VAarray< char* >                    m_vaOutkeysList;
00833         DBOBJDefinitionNode*                m_rootNode;
00834         XMLFlowContext*                     m_pContext; 
00835 
00836     public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00837 
00838     // STATICS
00839 
00840         //_____________________________________________________________________
00841         //  BUILDDBOBJDEFINITION
00842         //---------------------------------------------------------------------
00845         //_____________________________________________________________________
00846         static DBOBJDefinitionNode* buildDBOBJDefinition(XMLFlowContext* p_pContext, XMLStreamProvider*  p_pInput);
00847 
00848 
00849     // CONSTRUCTOR & DESTRUCTOR
00850   
00851         //_____________________________________________________________________
00852         //  DBOBJDEFINITIONBUILDER
00853         //---------------------------------------------------------------------
00855         //_____________________________________________________________________
00856         SAXDBOBJDefinitionBuilder(XMLFlowContext* p_pContext);
00857 
00858         //_____________________________________________________________________
00859         //  DBOBJDEFINITIONBUILDER
00860         //---------------------------------------------------------------------
00862         //_____________________________________________________________________
00863         ~SAXDBOBJDefinitionBuilder();
00864 
00865     // GETTERS
00866 
00867         //_____________________________________________________________________
00868         //  GETDEFINITION
00869         //---------------------------------------------------------------------
00872         //_____________________________________________________________________
00873         DBOBJDefinitionNode* getDefinition  () const;
00874 
00875     // CONTENTHANDLER //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00876     
00877         //____________________________________________________________________
00878         //  STARTELEMENT
00879         //--------------------------------------------------------------------
00887         //_____________________________________________________________________ 
00888         void startElement(  const XMLCh* const uri,  const XMLCh* const localname,   const XMLCh* const qname, const Attributes& attrs);
00889 
00890         //____________________________________________________________________
00891         //  ENDELEMENT
00892         //--------------------------------------------------------------------
00900         //_____________________________________________________________________ 
00901         void endElement (  const XMLCh* const uri,   const XMLCh* const localname,   const XMLCh* const qname);
00902 
00903         // Not implemented : 
00904         void        characters              (  const XMLCh* const chars,   const unsigned int length){};
00905         void        startDocument           (){};
00906         void        endDocument             (){};
00907         void        startPrefixMapping      ( const XMLCh* const prefix,const XMLCh* const uri){};
00908         void        endPrefixMapping        ( const XMLCh* const prefix){};
00909         void        processingInstruction   ( const XMLCh* const target, const XMLCh* const data){};
00910         void        ignorableWhitespace     ( const XMLCh* const chars, const unsigned int length){};
00911         void        setDocumentLocator      ( const Locator* const locator) {};
00912         void        skippedEntity           ( const XMLCh* const name){};
00913     
00914 };
00915 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00916 //=============================================================================
00917 
00918 END_XDFLENGINE_NS
00919 
00920 #endif

Generated on Sat Oct 4 13:19:56 2003 for XDFLengine by doxygen1.3-rc2