umbrello  2.35.0
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
codeaccessormethod.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3 
4  SPDX-FileCopyrightText: 2003 Brian Thomas <thomas@mail630.gsfc.nasa.gov>
5  SPDX-FileCopyrightText: 2004-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6 */
7 
8 #ifndef CODEACCESSORMETHOD_H
9 #define CODEACCESSORMETHOD_H
10 
11 #include "codemethodblock.h"
12 #include <QString>
13 
14 class CodeClassField;
15 class QXmlStreamWriter;
16 
18 {
19  friend class CodeClassField;
20  Q_OBJECT
21 public:
22 
23  // some types of accessor methods that are possible:
24  // "GET" is to retrieve single-valued (primitive or Object) fields
25  // "SET" is to set single-valued (primitive or Object) fields
26  // "ADD" is to add a value to a multiple-valued field of either primitive or Object items
27  // "REMOVE" is to remove a value to a multiple-valued field of either primitive or Object items
28  // "LIST" is to retrieve the entire list of items in a multiple-valued field
30 
31  explicit CodeAccessorMethod(CodeClassField * field);
32  virtual ~CodeAccessorMethod();
33 
35 
37 
38  void setType(AccessorType type);
39 
40  // virtual UMLObject * getParentObject();
41 
42  bool parentIsAttribute();
43 
44  virtual void updateContent() = 0;
45 
46  virtual void saveToXMI(QXmlStreamWriter& writer);
47  virtual void loadFromXMI(QDomElement & root);
48 
49  virtual void setAttributesFromObject(TextBlock * obj);
50 
51 protected:
52 
53  virtual void release();
54 
55  virtual void setAttributesOnNode(QXmlStreamWriter& writer);
56 
57  virtual void setAttributesFromNode(QDomElement & element);
58 
59  virtual void updateMethodDeclaration() = 0;
60 
61  void forceRelease();
62 
63 private:
64 
67 
68  void initFields(CodeClassField * parentCF);
69 
70 };
71 
72 #endif // CODEACCESSORMETHOD_H
codeclassfield.h
CodeAccessorMethod::release
virtual void release()
Definition: codeaccessormethod.cpp:80
CodeAccessorMethod::~CodeAccessorMethod
virtual ~CodeAccessorMethod()
Definition: codeaccessormethod.cpp:29
CodeClassField::parentIsAttribute
bool parentIsAttribute() const
Definition: codeclassfield.cpp:124
CodeAccessorMethod::loadFromXMI
virtual void loadFromXMI(QDomElement &root)
Definition: codeaccessormethod.cpp:99
CodeAccessorMethod::SET
@ SET
Definition: codeaccessormethod.h:29
CodeMethodBlock::syncToParent
virtual void syncToParent()
Definition: codemethodblock.cpp:167
CodeAccessorMethod::getParentClassField
CodeClassField * getParentClassField()
Definition: codeaccessormethod.cpp:37
CodeAccessorMethod
Definition: codeaccessormethod.h:17
CodeAccessorMethod::updateMethodDeclaration
virtual void updateMethodDeclaration()=0
CodeAccessorMethod::CodeAccessorMethod
CodeAccessorMethod(CodeClassField *field)
Definition: codeaccessormethod.cpp:20
CodeAccessorMethod::setType
void setType(AccessorType type)
Definition: codeaccessormethod.cpp:69
CodeClassField
Definition: codeclassfield.h:25
CodeAccessorMethod::forceRelease
void forceRelease()
Definition: codeaccessormethod.cpp:88
CodeAccessorMethod::getType
AccessorType getType()
Definition: codeaccessormethod.cpp:61
CodeAccessorMethod::setAttributesOnNode
virtual void setAttributesOnNode(QXmlStreamWriter &writer)
Definition: codeaccessormethod.cpp:120
CodeMethodBlock::release
virtual void release()
Definition: codemethodblock.cpp:74
CodeMethodBlock::setAttributesFromNode
virtual void setAttributesFromNode(QDomElement &element)
Definition: codemethodblock.cpp:104
number
it is up to the author donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License If the distribution and or use of the Library is restricted in certain countries either by patents or by copyrighted the original copyright holder who places the Library under this License may add an geographical distribution limitation excluding those so that distribution is permitted only in or among countries not thus excluded In such this License incorporates the limitation as if written in the body of this License The Free Software Foundation may publish revised and or new versions of the Library General Public License from time to time Such new versions will be similar in spirit to the present but may differ in detail to address new problems or concerns Each version is given a distinguishing version number If the Library specifies a version number of this License which applies to it and any later you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation If the Library does not specify a license version number
Definition: LGPL-2.0-only.txt:368
CodeAccessorMethod::initFields
void initFields(CodeClassField *parentCF)
Definition: codeaccessormethod.cpp:181
CodeAccessorMethod::m_accessorType
AccessorType m_accessorType
Definition: codeaccessormethod.h:66
CodeAccessorMethod::saveToXMI
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: codeaccessormethod.cpp:107
MyProject\connect
connect()
Definition: namespaces-multiple.php:5
CodeMethodBlock::setAttributesFromObject
virtual void setAttributesFromObject(TextBlock *obj)
Definition: codemethodblock.cpp:122
CodeAccessorMethod::GET
@ GET
Definition: codeaccessormethod.h:29
CodeAccessorMethod::setAttributesFromObject
virtual void setAttributesFromObject(TextBlock *obj)
Definition: codeaccessormethod.cpp:167
CodeAccessorMethod::m_parentclassfield
CodeClassField * m_parentclassfield
Definition: codeaccessormethod.h:65
CodeMethodBlock::setAttributesOnNode
virtual void setAttributesOnNode(QXmlStreamWriter &writer)
Definition: codemethodblock.cpp:85
TextBlock::setCanDelete
void setCanDelete(bool canDelete)
Definition: textblock.cpp:46
CodeAccessorMethod::setAttributesFromNode
virtual void setAttributesFromNode(QDomElement &element)
Definition: codeaccessormethod.cpp:134
CodeAccessorMethod::LIST
@ LIST
Definition: codeaccessormethod.h:29
codeaccessormethod.h
TextBlock::getParentDocument
CodeDocument * getParentDocument() const
Definition: textblock.cpp:66
codemethodblock.h
CodeAccessorMethod::REMOVE
@ REMOVE
Definition: codeaccessormethod.h:29
TextBlock
Definition: textblock.h:22
CodeAccessorMethod::parentIsAttribute
bool parentIsAttribute()
Definition: codeaccessormethod.cpp:42
CodeAccessorMethod::ADD
@ ADD
Definition: codeaccessormethod.h:29
CodeAccessorMethod::AccessorType
AccessorType
Definition: codeaccessormethod.h:29
CodeAccessorMethod::updateContent
virtual void updateContent()=0
CodeMethodBlock
Definition: codemethodblock.h:25