1 /* 2 SPDX-License-Identifier: GPL-2.0-or-later 3 4 SPDX-FileCopyrightText: 2003 Alexander Blum <blum@kewbee.de> 5 SPDX-FileCopyrightText: 2004-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org> 6 */ 7 8 #ifndef JSWRITER_H 9 #define JSWRITER_H 10 11 #include "simplecodegenerator.h" 12 #include "umloperationlist.h" 13 #include "umlassociationlist.h" 14 15 class QTextStream; 16 17 /** 18 * Class JSWriter is a JavaScript code generator for UMLClassifier objects. 19 * Just call writeClass and feed it a UMLClassifier. 20 */ 21 class JSWriter : public SimpleCodeGenerator 22 { 23 Q_OBJECT 24 public: 25 26 JSWriter(); 27 virtual ~JSWriter(); 28 29 virtual void writeClass(UMLClassifier *c); 30 31 virtual Uml::ProgrammingLanguage::Enum language() const; 32 33 virtual QStringList reservedKeywords() const; 34 35 private: 36 void writeOperations(QString classname, UMLOperationList *opList, QTextStream &js); 37 38 void writeAssociation(QString& classname, UMLAssociationList& assoclist, QTextStream &js); 39 }; 40 41 #endif //JSWRITER 42