readonly = Role.IsReadOnly property
type – scoped name of the class which represents the user-defined type
declarator – name of the supplier role of the relationship
dimension – cardinality of the supplier role of the relationship
Note: When the resultant IDL is reverse engineered a nested class which represents the typedef will be generated. That class will be the supplier in a relationship with the class which represents the interface.
Unbounded Sequence of User-defined Types
IDL SEMANTICS
typedef sequence<type> declarator_def;
[readonly] declarator_def declarator
This compound construct can be represented in a Rose model as a relationship of unbounded cardinality which has the class which represents the user-defined type as its supplier by setting the Role.BoundedRoleType property to 'Sequence'.
readonly = Role.IsReadOnly property
type – scoped name of the class which represents the user-defined type
declarator – name of the supplier role of the relationship
Note: When the resultant IDL is reverse engineered a nested class which represents the typedef will be generated. That class will be the supplier in a relationship with the class which represents the interface.
PROPERTIES
Attribute Properties
· IsReadOnly (Boolean FALSE) – Generate the readonly modifier
· ArrayDimensions (String "") – If non-blank, indicates that the declarator is an array and defines the array dimension(s) portion of the declarator.
Role Properties
· IsReadOnly (Boolean FALSE) – Generate the readonly modifier.
· ArrayDimensions (String "") – If non-blank, indicates that the declarator is an array and defines the array dimension(s) portion of the declarator.
· BoundedRoleType (Enumeration Array, Sequence) – Whether to use an array or sequence to represent a relationship with bounded cardinality. Unbounded cardinality always generates an unbounded sequence. The cardinality of the relationship defines the size of the array or sequence.
Note: current implementation does not support multiple declarators though IDL grammar does. They are RE’d and subsequently FE'd as separate attributes.
Maps to an operation of the class.
IDL SEMANTICS:
[oneway] oper_type oper_name (param_attr1 param_type1 param_decl1, param_attr2 param_type2 param_decl2, …) raises_expr context_expr;
oper_type = operation return type
oper_name = operation name
param_attrn param_typen = type of nth parameter. param_attrn must equal in, out, or inout and be specified as part of the operation type.
Param_decln = name of the nth parameter
raises_expr = operation exceptions
context_expr = operation.Context property
PROPERTIES
Operation Properties
· OperationIsOneWay (Boolean FALSE) – Generate oneway modifier
· Context (String "") – Context expression
The basic unit of forward engineering is a component whose assigned language is CORBA. Component packages, logical packages, and classes may also be selected to initiate forward engineering.
If a component package is selected all the components which derive directly or indirectly from that package are forward engineered.
If a logical package is selected all the classes which derive directly or indirectly from that package are considered. For each class which has CORBA as its assigned language, its assigned component is forward engineered.
Suggestion: If a package represents an IDL module all the classes which derive from it must be assigned to the same component. If this is not the case a dialog is presented which allows the user to rectify the situation or cancel the forward engineering request.
If a class whose assigned language is CORBA is selected its assigned component is forward engineered. If such a class has no assigned component one is created in the Component View package. If an attempt is made to forward engineer any classes whose assigned language is not CORBA a warning is generated.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.