Organization are bureaucratic entities created by human.
Since they are usually hierarchical, they often reference a parent
organization (a region references a country, etc.).
classDiagram
class RR0Data {
}
class Organization {
type: "org"
getMessages(context): OrganizationMessages
getTitle(context, options): string
}
Organization --> Organization: parent
RR0Data <|-- Organization
Organization <|-- Country
Organization <|-- Region
Organization <|-- Department
Organization <|-- City
Organization may also refer to a place (a City for instance), but can reference several places.
Organization-specific messages (how to mention an organization in a text using a given language, typically) can be obtained using the getMessage(context)
method.
By default, this will use the parent
link to build a fully descriptive organization name, by combining the organization name with its parent organizations names.
classDiagram
class OrganizationMessages {
titles: string[]
toTitle(context, org, options): string
}
OrganizationMessages <|-- CountryMessages
OrganizationMessages <|-- RegionMessages
OrganizationMessages <|-- DepartmentMessages
OrganizationMessages <|-- CityMessages