Object <- ServiceChoice <- InternetServiceChoice |
|
|
CanShareConnection CollectMeans IsSameChoice PreferredMeans |
|
InternetProviderName InternetServiceInfo |
| Field | Type | |
|---|---|---|
| ServiceChoice: | service: | ElectronicMailService |
| means: | Means | |
| image: | Image | |
| postageImage: | Image | |
| InternetServiceChoice: | internetProviderName: | Text |
| internetServiceInfo: | InternetServiceInfo |
instance InternetServiceChoice tag; service: nilObject; means: nilObject; image: nilObject; postageImage: nilObject; internetProviderName: nilObject; internetServiceInfo: nilObject; end instance;
Define Class InternetServiceChoice; inherits from ServiceChoice; field internetProviderName: Text, getter, setter; field internetServiceInfo: InternetServiceInfo, getter, setter; attribute InternetProviderName: Text; attribute InternetServiceInfo: InternetServiceInfo; overrides CanShareConnection; // can share a connection between two InternetServiceChoices if connecting // to the same InternetProvider. The service client is responsible // for handling any differences between the InternetServiceInfo fields // (i.e. POP vs. SMTP, or one POP mailbox vs. another) overrides CollectMeans; overrides PreferredMeans; overrides IsSameChoice; // checks for equality of serviceInfo & provider. Ignores equality // between the 'means' objects, since the preferred means may change // with location. end class;