Class concept

A class is the description of a set of objects that share the same attributes, operations,
methods, relationships and semantics. A class may use a set of interfaces to
specify collections of operations it provides to its environment.
An interface is the declaration of a collection of operations that may be used for
defining a service offered by an instance.
An exception is an event that occurs during the execution of a program and disrupts
the normal flow of instructions.
In Open ModelSphere, the class' classifier type will determine if it represents a
Java class, an interface or an exception. Stereotypes can be modified by accessing
the class properties window. However, from now on, the term Class will be used
only to refer to the class concept which represents classes, interfaces and
exceptions.
Classes properties

(under the Design tab of the properties window)
- Name: write the Java class name.
- Alias: identify the concept other than by its name (optional).
- UML Stereotype: implementationClass, invariant, metacondition, postcondition,
powertype, precondition, process, thread, type, utility, boundary, entity, control
or none.
- Classifier type: specify whether it is a class, an interface or an exception.
- Visibility: class visibility.
- Static: class is static.
- Final: class is final.
- Collection: the class is a collection type. If flagged as a collection, the class
can be specified as the project's default collection type (on the project properties).
If so, it will then be used when creating one to many associations.
- Compilation unit: the associated java file.
- Abstract: class is abstract.
- Base type: the class is base type. This property is used for documentation
purposes only.
- Description: enter a textual description for the class.
Fields properties 
- Name: write the field’s name.
- Alias: identify the concept other than by its name (optional).
- UML Stereotype: invariant, postcondition, precondition, boundary, entity,
control or none.
- Visibility: specify the field’s visibility.
- Type: specify the type of the field’s instance.
- Element type: specify the type of the collection element’s instances. The
element type is provided for documentation purposes only.
- Type use: specify an array and its dimensions.
- Type use style: specify how the array will be forwarded, after the type or
after the field.
- Static: specify the field as static.
- Final: specify the field as final.
- Transient: specify the field as transient.
- Volatile: specify the field as volatile.
- Initial value: specify the field’s initial value.
- Description: enter a textual description for the field.
Method properties 
- Name: write the method’s name.
- Alias: identify the concept other than by its name (optional).
- UML Stereotype: create, destroy, invariant, postcondition, precondition,
boundary, entity, control implementor, manager, helper or none.
- Body: specify the Java code of this method.
- Visibility: specify the method’s visibility.
- Return type: specify the method’s return type.
- Return element type: specify the type of the collection element’s instances. The element type is provided for documentation purposes only.
- Type use: specify an array and its dimensions.
- Abstract: specify the method as abstract.
- Type use style: specify how the array will be forwarded, after the type or
after the field.
- Static: specify the method as static.
- Final: specify the method as final.
- Native: specify the method as native.
- Synchronized: specify the method as synchronized.
- Strictfp: specify the method as strictfp.
- Description: enter a textual description for the method.
Constructors properties 
- Name: write the constructor’s name.
- Alias: identify the concept other than by its name (optional).
- UML Stereotype: invariant, postcondition, precondition, boundary, entity,
control or none.
- Body: specify the Java code of this constructor.
- Visibility: specify the constructor’s visibility.
- Description: enter a textual description for the constructor.
Initialization blocks properties 
- Name: write the initialization block’s name.
- Alias: identify the concept other than by its name (optional).
- UML Stereotype: invariant, postcondition, precondition, boundary, entity,
control or none.
- Body: specify the Java code of this initialization block.
- Static: specify the initialization block as static.
- Description: enter a textual description for the initialization block.