summaryrefslogtreecommitdiffstats
path: root/umbrello/umbrello/codegenerators/javacodeclassfield.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'umbrello/umbrello/codegenerators/javacodeclassfield.cpp')
-rw-r--r--umbrello/umbrello/codegenerators/javacodeclassfield.cpp111
1 files changed, 111 insertions, 0 deletions
diff --git a/umbrello/umbrello/codegenerators/javacodeclassfield.cpp b/umbrello/umbrello/codegenerators/javacodeclassfield.cpp
new file mode 100644
index 00000000..627b9b3e
--- /dev/null
+++ b/umbrello/umbrello/codegenerators/javacodeclassfield.cpp
@@ -0,0 +1,111 @@
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * copyright (C) 2004-2007 *
+ * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> *
+ ***************************************************************************/
+
+/* This code generated by:
+ * Author : thomas
+ * Date : Mon Jun 30 2003
+ */
+
+// own header
+#include "javacodeclassfield.h"
+
+// qt/kde includes
+#include <qregexp.h>
+#include <kdebug.h>
+
+// local includes
+#include "javacodecomment.h"
+#include "javacodegenerator.h"
+
+#include "../attribute.h"
+#include "../umlobject.h"
+#include "../umlrole.h"
+#include "../uml.h"
+
+// #include "javacodeaccessormethod.h"
+#include "javaclassifiercodedocument.h"
+
+// Constructors/Destructors
+//
+
+JavaCodeClassField::JavaCodeClassField (ClassifierCodeDocument * parentDoc, UMLRole * role)
+ : CodeClassField(parentDoc, role)
+{
+
+}
+
+JavaCodeClassField::JavaCodeClassField (ClassifierCodeDocument * parentDoc, UMLAttribute * attrib)
+ : CodeClassField(parentDoc, attrib)
+{
+
+}
+
+JavaCodeClassField::~JavaCodeClassField ( ) { }
+
+//
+// Methods
+//
+
+// Other methods
+//
+
+QString JavaCodeClassField::getFieldName() {
+ if (parentIsAttribute())
+ {
+ UMLAttribute * at = (UMLAttribute*) getParentObject();
+ return cleanName(at->getName());
+ }
+ else
+ {
+ UMLRole * role = (UMLRole*) getParentObject();
+ QString roleName = role->getName();
+ if(fieldIsSingleValue()) {
+ return roleName.replace(0, 1, roleName.left(1).lower());
+ } else {
+ return roleName.lower() + "Vector";
+ }
+ }
+}
+
+
+QString JavaCodeClassField::getInitialValue() {
+
+ if (parentIsAttribute())
+ {
+ UMLAttribute * at = dynamic_cast<UMLAttribute*>( getParentObject() );
+ if (at) {
+ return fixInitialStringDeclValue(at->getInitialValue(), getTypeName());
+ } else {
+ kError() << "JavaodeClassField::getInitialValue: parent object is not a UMLAttribute"
+ << endl;
+ return "";
+ }
+ return fixInitialStringDeclValue(at->getInitialValue(), getTypeName());
+ }
+ else
+ {
+ if(fieldIsSingleValue()) {
+ // FIX : IF the multiplicity is "1" then we should init a new object here, if its 0 or 1,
+ // then we can just return 'empty' string (minor problem).
+ return QString("");
+ } else {
+ return " new "+JavaCodeGenerator::getListFieldClassName()+"( )";
+ }
+ }
+
+}
+
+QString JavaCodeClassField::getTypeName ( )
+{
+ return JavaCodeGenerator::fixTypeName(CodeClassField::getTypeName());
+}
+
+#include "javacodeclassfield.moc"