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 :

Directly inherited by : UmlItem

Artifact : UmlBaseItem

Operation kind

returns the kind of the item

Declaration :

Operation name

returns the name

Declaration :

Operation set_Name

to set the name

On error return FALSE in C++, produce a RuntimeException in Java

Declaration :

Operation stereotype

returns the stereotype

Declaration :

Operation set_Stereotype

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

Declaration :

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 :

Operation description

returns the description

Declaration :

Operation set_Description

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

Declaration :

Operation parent

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

Declaration :

Operation children

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

Declaration :

Operation childrenVisible

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

Declaration :

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 :

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 :

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 :

Operation properties

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

Declaration :

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 :

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 :

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 :

Operation apply

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

Declaration :

Operation isMarked

return TRUE in case the item is marked

Declaration :

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 :

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 :

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 :

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 :

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 :

Operation isToolRunning

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

Declaration :

Operation markedItems

Declaration :

Extra Artifact Definition remark

Definition :

Attribute _defined

Declaration :

Attribute _marked

Declaration :

Attribute _identifier

Declaration :

Attribute _modeler_id

Declaration :

Attribute _name

Declaration :

Attribute _stereotype

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

Declaration :

Attribute _description

Declaration :

Relation _parent (<unidirectional association>)

Declaration :

Attribute _children

Declaration :

Attribute _dict

Declaration :

Attribute _all

Declaration :

Extra Artifact Definition initialization

Definition :

Operation read_if_needed_

internal, do NOT use it

Declaration :

Operation create_

internal, do NOT use it

Declaration :

Operation read_uml_

internal, do NOT use it

Declaration :

Operation read_cpp_

internal, do NOT use it

Declaration :

Operation read_java_

internal, do NOT use it

Declaration :

Operation read_php_

internal, do NOT use it

Declaration :

Operation read_python_

internal, do NOT use it

Declaration :

Operation read_idl_

internal, do NOT use it

Declaration :

Operation read_mysql_

internal, do NOT use it

Declaration :

Operation read_children_

internal, do NOT use it

Declaration :

Operation reread_children_if_needed_

internal, do NOT use it

Declaration :

Operation set_it_

internal, do NOT use it

Declaration :

Operation set_it_

internal, do NOT use it

Declaration :

Operation set_it_

internal, do NOT use it

Declaration :

Operation set_it_

internal, do NOT use it

Declaration :

Operation set_it_

internal, do NOT use it

Declaration :

Operation read_

internal, do NOT use it

Declaration :

Operation UmlBaseItem

the constructor, do not call it yourself !

Declaration :

Operation ~UmlBaseItem

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

Declaration :

Operation identifier_

internal, do NOT use it

Declaration :

Operation defined_

internal, do NOT use it

Declaration :

Extra Artifact Definition friend

Definition :

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