00001 #ifndef DUMPER_H 00002 #define DUMPER_H 00003 00004 #include "list" 00005 #include "vector" 00006 #include "Sheet.h" 00007 #include "functional" 00008 00009 class Dumper : public Sheet { 00010 00011 protected: 00012 Dumper(); 00013 00014 public: 00015 static Sheet * getInstance(); 00016 virtual ~Dumper(); 00017 00018 bool build(); 00019 00020 00021 static std::string makeValidFileName( const std::string& pInFile); 00022 static int selectOutputFiles( const BON::Project&, const std::string& proj_name, const std::string& project_path); 00023 static int selectOptions( const BON::Project&); 00024 static void registerIt( const std::string& f_name); 00025 static bool doParseCardinality 00026 (const std::string& cardinality, 00027 const std::string &target, 00028 const std::string &contextDesc, 00029 std::string &expr); 00030 00031 static std::string xmlFilter( const std::string& in); 00032 00033 protected: 00034 00035 void createConstraints(); 00036 void inheritMoReSeCoFolAsp(); 00037 void inheritAspConsAttr(); 00038 00039 void doAspectPartsMap(); 00040 // creates elements from element hierarchies 00041 00042 00043 void doDump(); 00044 bool sortPtrs(); 00045 bool aspectOrderSel(); // aspect Order Selection 00046 bool am(); // aSPECT mAPPING 00047 bool checkUniqueAspectNames(); 00048 bool checkAll(); 00049 bool checkRootFolder() const; 00050 bool checkAllFCOs(); 00051 bool checkOrphanAttributes(); 00052 bool checkEmptyFolders() const; 00053 bool findInFolders( FCO * fco); 00054 void findMaxOfMetaRefs(); 00055 00056 protected: 00057 00058 void inheritConstraintsAndAttributes( FCO * ptr, FCO * c_ptr); 00059 std::vector<AspectRep *> findAspectBasedOnName(const std::string & name_to_find) const; 00060 }; 00061 00062 #endif //DUMPER_H