Class UmlBaseItem

Base class of all the classes representing browser's objects.
In the API all for each 'system' class exists a 'user' class
under your responsability which inherits the 'system' class.
You do not have to change the 'system' classes, place your
attributes and operations in the corresponding 'user' classes :
all the instances made by the 'system' classes are instance of
the corresponding 'user' classes.
You must never create or delete yourself a class of the API,
use the Create operation defined in the 'system' classes.
To not allow you to access to the 'system' attributes or to
call 'system' internal operations even by error, the 'system' internal
parts are declared 'private' rather than 'public' or 'protected'.

Declaration :

- C++ : class UmlBaseItem
- Java : abstract class UmlBaseItem

Directly inherited by : UmlItem

Artifact : UmlBaseItem

Operation kind

returns the kind of the item

Declaration :

- Uml : abstract, + kind() : anItemKind
- C++ : public: virtual anItemKind kind()= 0
- Java : public abstract anItemKind kind()

Operation name

returns the name

Declaration :

- Uml : + name() : string
- C++ : public: const QCString & name()
- Java : public String name()

Operation set_Name

to set the name
On error return FALSE in C++, produce a RuntimeException in Java

Declaration :

- Uml : + set_Name(in s : string) : bool, exceptions : RuntimeException
- C++ : public: virtual bool set_Name(const QCString & s)
- Java : public void set_Name(String s) throws RuntimeException

Operation stereotype

returns the stereotype

Declaration :

- Uml : + stereotype() : string
- C++ : public: const QCString & stereotype()
- Java : public String stereotype()

Operation set_Stereotype

to set the stereotype
On error return FALSE in C++, produce a RuntimeException in Java

Declaration :

- Uml : + set_Stereotype(in s : string) : bool, exceptions : RuntimeException
- C++ : public: virtual bool set_Stereotype(const QCString & s)
- Java : public void set_Stereotype(String s) throws RuntimeException

Operation applyStereotype

If the current stereotype is part of a profile add needed properties.
In all cases remove extra properties whose keys contain two ':'.
If the element is read-only, return FALSE in C++, produce a RuntimeException in Java

Declaration :

- Uml : + applyStereotype() : bool, exceptions : RuntimeException
- C++ : public: bool applyStereotype()
- Java : public void applyStereotype() throws RuntimeException

Operation description

returns the description

Declaration :

- Uml : + description() : string
- C++ : public: const QCString & description()
- Java : public String description()

Operation set_Description

to set the description
On error return FALSE in C++, produce a RuntimeException in Java

Declaration :

- Uml : + set_Description(in s : string) : bool, exceptions : RuntimeException
- C++ : public: bool set_Description(const QCString & s)
- Java : public void set_Description(String s) throws RuntimeException

Operation parent

returns the parent (0/null if it is applied on the project itself),
to go all over the browser tree

Declaration :

- Uml : + parent() : UmlItem
- C++ : public: UmlItem * parent()
- Java : public UmlItem parent()

Operation children

returns (in Java : a copy of) the children list, to go all over the browser tree

Declaration :

- Uml : + children() : UmlItem
- C++ : public: const QVector<UmlItem> children()
- Java : public UmlItem[] children()

Operation childrenVisible

return TRUE if the children exist and are visible (independently
of the scroll bar) in the browser, else FALSE

Declaration :

- Uml : + childrenVisible() : bool
- C++ : public: bool childrenVisible()
- Java : public boolean childrenVisible()

Operation set_childrenVisible

open the item in the browser (its children are visible) if y is TRUE,
else close it (its children are not visible). May be applied on items
without children. The item is also selected in the browser, so
set_ChildrenVisible(childrenVisible()) is the right way to select the item
in the browser.
On error return FALSE in C++, produce a RuntimeException in Java

Declaration :

- Uml : + set_childrenVisible(in y : bool) : bool, exceptions : RuntimeException
- C++ : public: bool set_childrenVisible(bool y)
- Java : public void set_childrenVisible(boolean y) throws RuntimeException

Operation propertyValue

In C++, in case the key specified by 'k' exist for the current
object, the string 'v' is modified which the associated value
and TRUE is returned, else returns FALSE.
In Java return the value associated with the key specified by 'k'
for the current object, null in case the property doesn't
exist.
These properties may be edited through the object dialog last tab
named 'user'

Declaration :

- Uml : + propertyValue(in k : string, inout v : string) : string
- C++ : public: bool propertyValue(const QCString & k, QCString & v)
- Java : public String propertyValue(String k)

Operation set_PropertyValue

to set (may be insert a new) the value 'v' associated to the key 'k'
On error return FALSE in C++, produce a RuntimeException in Java

Declaration :

- Uml : + set_PropertyValue(in k : string, in v : string) : bool, exceptions : RuntimeException
- C++ : public: bool set_PropertyValue(const QCString & k, const QCString & v)
- Java : public void set_PropertyValue(String k, String v) throws RuntimeException

Operation properties

returns all the properties of the object through (in Java a copy of) a dictionnary

Declaration :

- Uml : + properties() : string
- C++ : public: const QDict<QCString> properties()
- Java : public Hashtable properties()

Operation moveAfter

If the parameter is null, move the current item to be
the first child of its parent. Else the current item and
the parameter must have the same parent, the current item
is moved to be just after the parameter.
On error return FALSE in C++, produce a RuntimeException in Java

Declaration :

- Uml : + moveAfter(in x : UmlItem) : bool, exceptions : RuntimeException
- C++ : public: bool moveAfter(const UmlItem * x)
- Java : public void moveAfter(UmlItem x) throws RuntimeException

Operation supportFile

Returns the absolute path name of the file memoring the Item.
In general an item is saved in a file associated to its package,
the exceptions are :
- the body of the operations of a class which definition contains the
keyword '{$body}'. This path name is returned when you apply
supportFile on any operation of the class.
- the drawing of the diagrams, this path name is returned when
you apply supportFile on the diagram.
- the configuration of the tools edited throw the entry 'Tools Settings' of
the menu Tools is saved in the file 'tools'
- the configuration of the '#include' and 'using' forms associated to the
external type and edited through the last C++ tab of the
'Generation Settings' dialog is saved in the file 'cpp_includes'
- the configuration of the 'imports' forms associated to the external
types and edited through the last Java tab of the 'Generation Settings'
dialog is saved in the file 'java_imports'
- the configuration of the '#include' forms associated to the
external type and edited through the last Idl tab of the
'Generation Settings' dialog is saved in the file 'idl_includes'

Declaration :

- Uml : + supportFile() : string
- C++ : public: QCString supportFile()
- Java : public String supportFile()

Operation isWritable

return TRUE in case the item may be modified, i.e. it is not
an API base 'plug-out' class and the corresponding file(s) are not
read-only.

Declaration :

- Uml : + isWritable() : bool
- C++ : public: bool isWritable()
- Java : public boolean isWritable()

Operation apply

Apply asynchronously the tool on the item, returns an identifier to call isToolDone()

Declaration :

- Uml : + apply(in cmd : string) : int
- C++ : public: int apply(QCString cmd)
- Java : public int apply(String cmd)

Operation isMarked

return TRUE in case the item is marked

Declaration :

- Uml : + isMarked() : bool
- C++ : public: bool isMarked()
- Java : public boolean isMarked()

Operation set_isMarked

to mark/unmark the current item. The project cannot marked
On error return FALSE in C++, produce a RuntimeException in Java

Declaration :

- Uml : + set_isMarked(in y : bool) : bool, exceptions : RuntimeException
- C++ : public: bool set_isMarked(bool y)
- Java : public void set_isMarked(boolean y) throws RuntimeException

Operation referencedBy

Returns the items referencing the current one.
The result may contains UmlAttribute, UmlRelations, UmlNcRelations,
UmlOperation (their bodies are not taken into account) , UmlClass
and UmlComponents.

Declaration :

- Uml : + referencedBy() : UmlItem
- C++ : public: const QVector<UmlItem> referencedBy()
- Java : public UmlItem[] referencedBy()

Operation getIdentifier

return a constant identifier, it is unique within a given
kind of element (two classes can't have the same identifiers, but
a class and a component may have the same identifier)
except for the diagrams (a class diagram can't have the identifier
of a component diagram)

Declaration :

- Uml : + getIdentifier() : int
- C++ : public: int getIdentifier()
- Java : public int getIdentifier()

Operation unload

to unload the object to free memory, it will be reloaded automatically
if needed. Recursively done for the sub items if 'rec' is TRUE.
if 'del' is true the sub items are deleted in C++, and removed from the
internal dictionnary in C++ and Java (to allow it to be garbaged),
you will have to call Children() to re-access to them

Declaration :

- Uml : + unload(in rec : bool, in del : bool) : void
- C++ : public: virtual void unload(bool rec = FALSE, bool del = FALSE)
- Java : public void unload(boolean rec, boolean del)

Operation deleteIt

remove the element from the model, use it carefully because
after that the element can't be used anymore by the plug-out
On error : return FALSE in C++, produce a RuntimeException in Java

Declaration :

- Uml : + deleteIt() : bool, exceptions : RuntimeException
- C++ : public: bool deleteIt()
- Java : public void deleteIt() throws RuntimeException

Operation isToolRunning

'id' is an identifier returned by apply(), indicates if the tool is still running

Declaration :

- Uml : static, + isToolRunning(in id : int) : bool
- C++ : public: static bool isToolRunning(int id)
- Java : public static boolean isToolRunning(int id)

Operation markedItems

Declaration :

- Uml : static, + markedItems() : UmlItem
- C++ : public: static const QVector<UmlItem> markedItems()
- Java : public static UmlItem[] markedItems()

Extra Class Member remark

Definition :

- Java :

      /**
       * Do NOT use the next definitions
       */

Attribute _defined

Declaration :

- Uml : - _defined : bool
- C++ : private: bool _defined
- Java : private boolean _defined

Attribute _marked

Declaration :

- Uml : - _marked : bool
- C++ : private: bool _marked
- Java : private boolean _marked

Attribute _identifier

Declaration :

- Uml : - _identifier : void
- C++ : private: void * _identifier
- Java : private long _identifier

Attribute _modeler_id

Declaration :

- Uml : # _modeler_id : int
- C++ : protected: int _modeler_id
- Java : protected int _modeler_id

Attribute _name

Declaration :

- Uml : - _name : string
- C++ : private: QCString _name
- Java : private String _name

Attribute _stereotype

Note : protected in Java for internal reason, but do NOT
access to this field yourself !

Declaration :

- Uml : # _stereotype : string
- C++ : private: QCString _stereotype
- Java : protected String _stereotype

Attribute _description

Declaration :

- Uml : - _description : string
- C++ : private: QCString _description
- Java : private String _description

Relation _parent (<unidirectional association>)

Declaration :

- Uml : - _parent : UmlItem
- C++ : private: UmlItem * _parent
- Java : private UmlItem _parent

Attribute _children

Declaration :

- Uml : - _children : UmlItem
- C++ : private: QVector<UmlItem> * _children
- Java : private UmlItem[] _children

Attribute _dict

Declaration :

- Uml : - _dict : string
- C++ : private: QDict<QCString> _dict
- Java : private Hashtable _dict

Attribute _all

Declaration :

- Uml : static, - _all : UmlItem = (997)
- C++ : private: static QPtrDict<UmlItem> _all
- Java : private static Hashtable _all

Extra Class Member initialization

Definition :

- Java :

      static { _all = new Hashtable(997); }

Operation read_if_needed_

internal, do NOT use it

Declaration :

- Uml : # read_if_needed_() : void
- C++ : protected: void read_if_needed_()
- Java : protected final void read_if_needed_()

Operation create_

internal, do NOT use it

Declaration :

- Uml : # create_(in k : anItemKind, in s : str) : UmlItem, exceptions : RuntimeException
- C++ : protected: UmlItem * create_(anItemKind k, const char * s)
- Java : protected final UmlItem create_(anItemKind k, String s) throws RuntimeException

Operation read_uml_

internal, do NOT use it

Declaration :

- Uml : # read_uml_() : void
- C++ : protected: virtual void read_uml_()
- Java : protected void read_uml_()

Operation read_cpp_

internal, do NOT use it

Declaration :

- Uml : # read_cpp_() : void
- C++ : protected: virtual void read_cpp_()
- Java : protected void read_cpp_()

Operation read_java_

internal, do NOT use it

Declaration :

- Uml : # read_java_() : void
- C++ : protected: virtual void read_java_()
- Java : protected void read_java_()

Operation read_php_

internal, do NOT use it

Declaration :

- Uml : # read_php_() : void
- C++ : protected: virtual void read_php_()
- Java : protected void read_php_()

Operation read_python_

internal, do NOT use it

Declaration :

- Uml : # read_python_() : void
- C++ : protected: virtual void read_python_()
- Java : protected void read_python_()

Operation read_idl_

internal, do NOT use it

Declaration :

- Uml : # read_idl_() : void
- C++ : protected: virtual void read_idl_()
- Java : protected void read_idl_()

Operation read_children_

internal, do NOT use it

Declaration :

- Uml : # read_children_() : void
- C++ : protected: void read_children_()
- Java : protected final void read_children_()

Operation reread_children_if_needed_

internal, do NOT use it

Declaration :

- Uml : # reread_children_if_needed_() : void
- C++ : protected: void reread_children_if_needed_()
- Java : protected final void reread_children_if_needed_()

Operation set_it_

internal, do NOT use it

Declaration :

- Uml : # set_it_(inout r : bool, in v : bool, in cmd : OnInstanceCmd) : bool
- C++ : protected: bool set_it_(bool & r, bool v, OnInstanceCmd cmd)

Operation set_it_

internal, do NOT use it

Declaration :

- Uml : # set_it_(inout r : aVisibility, in v : aVisibility, in cmd : OnInstanceCmd) : bool
- C++ : protected: bool set_it_(aVisibility & r, aVisibility v, OnInstanceCmd cmd)

Operation set_it_

internal, do NOT use it

Declaration :

- Uml : # set_it_(inout r : aDirection, in v : aDirection, in cmd : OnInstanceCmd) : bool
- C++ : protected: bool set_it_(aDirection & r, aDirection v, OnInstanceCmd cmd)

Operation set_it_

internal, do NOT use it

Declaration :

- Uml : # set_it_(inout r : string, in v : str, in cmd : OnInstanceCmd) : bool
- C++ : protected: bool set_it_(QCString & r, const char * v, OnInstanceCmd cmd)

Operation set_it_

internal, do NOT use it

Declaration :

- Uml : # set_it_(inout r : UmlTypeSpec, in t : UmlTypeSpec, in cmd : OnInstanceCmd) : bool
- C++ : protected: bool set_it_(UmlTypeSpec & r, const UmlTypeSpec & t, OnInstanceCmd cmd)

Operation read_

internal, do NOT use it

Declaration :

- Uml : static, # read_() : UmlItem
- C++ : protected: static UmlItem * read_()
- Java : protected static UmlItem read_()

Operation UmlBaseItem

the constructor, do not call it yourself !

Declaration :

- Uml : + UmlBaseItem(in id : item_id, in n : string) :
- C++ : public: UmlBaseItem(void * id, const QCString & n)
- Java : public UmlBaseItem(long id, String n)

Operation ~UmlBaseItem

the destructor, do not delete objects yourself !!!!!!!!!!

Declaration :

- Uml : + ~UmlBaseItem() :
- C++ : public: virtual ~UmlBaseItem()

Operation identifier_

internal, do NOT use it

Declaration :

- Uml : + identifier_() : long
- Java : public final long identifier_()

Operation defined_

internal, do NOT use it

Declaration :

- Uml : + defined_() : bool
- Java : public boolean defined_()

Extra Class Member friend

Definition :

- C++ :

        friend class UmlBaseView;
        friend class UmlBaseClassInstance;
        friend class UmlBaseParameterSet;
        friend class UmlBaseActivityParameter;
        friend class UmlBaseActivityPin;
        friend class UmlBasePinParameter;
        friend class UmlBaseExpansionNode;
        friend class UmlBaseActivityObject;
        friend class UmlBaseJoinActivityNode;
        friend class UmlBaseForkActivityNode;
        friend class UmlBaseMergeActivityNode;
        friend class UmlBaseDecisionActivityNode;
        friend class UmlBaseActivityFinalActivityNode;
        friend class UmlBaseFlowFinalActivityNode;
        friend class UmlBaseInitialActivityNode;
        friend class UmlBaseActivityControlNode;
        friend class UmlBaseRemoveVariableValueAction;
        friend class UmlBaseAddVariableValueAction;
        friend class UmlBaseWriteVariableValueAction;
        friend class UmlBaseReadVariableValueAction;
        friend class UmlBaseClearVariableValueAction;
        friend class UmlBaseAccessVariableValueAction;
        friend class UmlBaseCallBehaviorAction;
        friend class UmlBaseCallOperationAction;
        friend class UmlBaseAcceptEventAction;
        friend class UmlBaseOpaqueAction;
        friend class UmlBaseValueSpecificationAction;
        friend class UmlBaseBroadcastSignalAction;
        friend class UmlBaseSendSignalAction;
        friend class UmlBaseOnSignalAction;
        friend class UmlBaseUnmarshallAction;
        friend class UmlBaseSendObjectAction;
        friend class UmlBaseActivityAction;
        friend class UmlBaseInterruptibleActivityRegion;
        friend class UmlBaseExpansionRegion;
        friend class UmlBaseActivityRegion;
        friend class UmlBaseFlow;
        friend class UmlBaseActivityNode;
        friend class UmlBaseActivityDiagram;
        friend class UmlBaseActivity;
        friend class UmlBaseObjectDiagram;
        friend class UmlBaseJoinPseudoState;
        friend class UmlBaseForkPseudoState;
        friend class UmlBaseChoicePseudoState;
        friend class UmlBaseJunctionPseudoState;
        friend class UmlBaseShallowHistoryPseudoState;
        friend class UmlBaseDeepHistoryPseudoState;
        friend class UmlBaseExitPointPseudoState;
        friend class UmlBaseTerminatePseudoState;
        friend class UmlBaseFinalState;
        friend class UmlBaseEntryPointPseudoState;
        friend class UmlBaseInitialPseudoState;
        friend class UmlBaseStateAction;
        friend class UmlBaseRegion;
        friend class UmlBaseTransition;
        friend class UmlBaseStateDiagram;
        friend class UmlBaseState;
        friend class UmlBaseComponent;
        friend class UmlBaseExtraClassMember;
        friend class UmlBaseClassMember;
        friend class UmlCom;
        friend class UmlBaseActualParameter;
        friend class UmlBaseFormalParameter;
        friend class UmlBaseDiagram;
        friend class UmlBaseUseCaseView;
        friend class UmlBaseUseCaseDiagram;
        friend class UmlBaseUseCase;
        friend class UmlBaseSequenceDiagram;
        friend class UmlBaseNcRelation;
        friend class UmlBaseRelation;
        friend class UmlBasePackage;
        friend class UmlBaseOperation;
        friend class UmlBaseNode;
        friend class UmlBaseDeploymentView;
        friend class UmlBaseDeploymentDiagram;
        friend class UmlBaseDeployment;
        friend class UmlBaseComponentView;
        friend class UmlBaseComponentDiagram;
        friend class UmlBaseArtifact;
        friend class UmlBaseCollaborationDiagram;
        friend class UmlBaseClassView;
        friend class UmlBaseClassDiagram;
        friend class UmlBaseClass;
        friend class UmlBaseAttribute;
        friend class UmlBaseClassItem;
        friend class UmlBaseUseCaseReference;
        friend class UmlBaseUseCaseAssociation;
        friend class UmlBaseClassInstanceReference;
        friend class UmlBaseMessage;
        friend class UmlBaseUseCaseDiagramDefinition;
        friend class UmlBaseSequenceDiagramDefinition;
        friend class UmlBaseCollaborationDiagramDefinition;
        friend class UmlBaseFragment;
        friend class UmlBaseReduceAction;
        friend class UmlBaseRaiseExceptionAction;
        friend class UmlBaseTestIdentityAction;
        friend class UmlBaseDestroyObjectAction;
        friend class UmlBaseCreateObjectAction;
        friend class UmlBaseReplyAction;
        friend class UmlBaseAcceptCallAction;
        friend class UmlBaseActivityPartition;

All public operations : apply , applyStereotype , children , childrenVisible , defined_ , deleteIt , description , getIdentifier , identifier_ , isMarked , isToolRunning , isWritable , kind , markedItems , moveAfter , name , parent , properties , propertyValue , referencedBy , set_childrenVisible , set_Description , set_isMarked , set_Name , set_PropertyValue , set_Stereotype , stereotype , supportFile , unload