Class UmlBaseItem

Declaration :

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

Directly inherited by : UmlItem

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'.

Artifact : UmlBaseItem

Operation kind

Declaration :

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

returns the kind of the item

Operation name

Declaration :

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

returns the name

Operation set_Name

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

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

Operation stereotype

Declaration :

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

returns the stereotype

Operation set_Stereotype

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

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

Operation description

Declaration :

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

returns the description

Operation set_Description

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

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

Operation parent

Declaration :

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

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

Operation children

Declaration :

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

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

Operation childrenVisible

Declaration :

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

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

Operation set_childrenVisible

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

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

Operation propertyValue

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)

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'

Operation set_PropertyValue

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

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

Operation properties

Declaration :

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

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

Operation moveAfter

Declaration :

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

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

Operation supportFile

Declaration :

- Uml : + supportFile() : string
- C++ : public: QCString supportFile()
- Java : public String 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 '

Operation isWritable

Declaration :

- Uml : + isWritable() : bool
- C++ : public: bool isWritable()
- Java : public boolean 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.

Operation apply

Declaration :

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

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

Operation isMarked

Declaration :

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

return TRUE in case the item is marked

Operation set_isMarked

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

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

Operation referencedBy

Declaration :

- Uml : + referencedBy() : UmlItem
- C++ : public: const QVector<UmlItem> referencedBy()
- Java : public UmlItem[] 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.

Operation getIdentifier

Declaration :

- Uml : + getIdentifier() : int
- C++ : public: int getIdentifier()
- Java : public int 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)

Operation unload

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)

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

Operation deleteIt

Declaration :

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

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

Operation isToolRunning

Declaration :

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

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

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
       */

Attribut _defined

Declaration :

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

Attribut _marked

Declaration :

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

Attribut _identifier

Declaration :

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

Attribut _modeler_id

Declaration :

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

Attribut _name

Declaration :

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

Attribut _stereotype

Declaration :

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

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

Attribut _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

Attribut _children

Declaration :

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

Attribut _dict

Declaration :

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

Attribut _all

Declaration :

- Uml : static, - _all : UmlItem
- 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_

Declaration :

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

internal, do NOT use it

Operation create_

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

internal, do NOT use it

Operation read_uml_

Declaration :

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

internal, do NOT use it

Operation read_cpp_

Declaration :

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

internal, do NOT use it

Operation read_java_

Declaration :

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

internal, do NOT use it

Operation read_idl_

Declaration :

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

internal, do NOT use it

Operation read_children_

Declaration :

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

internal, do NOT use it

Operation reread_children_if_needed_

Declaration :

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

internal, do NOT use it

Operation set_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)

internal, do NOT use it

Operation set_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)

internal, do NOT use it

Operation set_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)

internal, do NOT use it

Operation set_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)

internal, do NOT use it

Operation set_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)

internal, do NOT use it

Operation read_

Declaration :

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

internal, do NOT use it

Operation UmlBaseItem

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)

the constructor, do not call it yourself !

Operation ~UmlBaseItem

Declaration :

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

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

Operation identifier_

Declaration :

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

internal, do NOT use it

Operation defined_

Declaration :

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

internal, do NOT use it

All public operations : apply , 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