codegenfactory.h
00001 /*************************************************************************** 00002 * * 00003 * This program is free software; you can redistribute it and/or modify * 00004 * it under the terms of the GNU General Public License as published by * 00005 * the Free Software Foundation; either version 2 of the License, or * 00006 * (at your option) any later version. * 00007 * * 00008 * copyright (C) 2004-2006 * 00009 * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> * 00010 ***************************************************************************/ 00011 00012 #ifndef CODEGENFACTORY_H 00013 #define CODEGENFACTORY_H 00014 00015 #include "../umlnamespace.h" 00016 #include "../codeaccessormethod.h" 00017 00018 // fwd decls 00019 class CodeGenerator; 00020 class ClassifierCodeDocument; 00021 class CodeOperation; 00022 class CodeClassField; 00023 class CodeClassFieldDeclarationBlock; 00024 class UMLClassifier; 00025 class UMLOperation; 00026 class UMLAttribute; 00027 class UMLRole; 00028 00037 namespace CodeGenFactory { 00038 00042 CodeGenerator* createObject(Uml::Programming_Language pl); 00043 00044 00053 CodeOperation *newCodeOperation(ClassifierCodeDocument *cd, UMLOperation * op); 00054 00064 CodeClassField * newCodeClassField (ClassifierCodeDocument *cd, UMLAttribute * at); 00065 00075 CodeClassField * newCodeClassField(ClassifierCodeDocument *cd, UMLRole *role); 00076 00087 CodeAccessorMethod * newCodeAccessorMethod(ClassifierCodeDocument *cd, 00088 CodeClassField *cf, 00089 CodeAccessorMethod::AccessorType type); 00090 00101 CodeClassFieldDeclarationBlock * newDeclarationCodeBlock (ClassifierCodeDocument *cd, 00102 CodeClassField * cf); 00103 00111 CodeComment * newCodeComment (CodeDocument *cd); 00112 00116 CodeDocument * newClassifierCodeDocument (UMLClassifier * classifier); 00117 } 00118 00119 #endif //CODEGENFACTORY_H
