# Section 8.11.3.3:
NAME

###### class NAME

#### Formal Types

types
SAME = NAME
NAME ::
family_name : [STR]
first_name : [STR]
other_names : [seq of STR]
second_name : [STR]
profession : [STR]
sal_string : [STR]
salutation : [SALUTATIONS]

This class implements the concept of a personal name as specified in the draft international standard in ISO/IEC 14652.

#### Reader/Writer pairs

The class is required to have readers and writers for each of the following features. There are neither pre nor post conditions required for either reader or writer for these features.

- family_name : STR
- first_name : STR
- other_names : FLIST{STR}
- second_name : STR
- profession : STR
- sal_string : STR
- salutation : SALUTATIONS

#### create

This feature is the sole creation function for a name object.

create | : SAME

##### Formal Signature

create() res : SAME

##### Pre-condition

Having no arguments this creation routine has a pre-condition which is vacuously true.

##### Post-condition

post res.family_name = nil
and res.first_name = nil
and res.other_names = nil
and res.second_name = nil
and res.profession = nil
and res.sal_string = nil
and res.salutation = nil

This creation feature creates an object for which the salutation component is void and all strings are void.

| Language Index |  | Library Index |  | Non-numeric Index

Comments or enquiries should be made to Keith Hopper. Page last modified: Wednesday, 22 November 2000. |