Interface for qBeta module object
ReservationSystem: obj
%visible StringLib,Containers.Set,Containers.OrderedList
Person:
sendEmail:
asText:<
out T: ref String
Employee:
Date: Value
>:
out B: var Boolean
City:
toDay:
out D: var Date
Travel:
Flight: -- new
Carrier: -- new
notifyCancellation:
asText:<
out T: ref String
AirPort:
TrainStation:
FlightCompany: Carrier
notifyCancellationY:
TrainCompany:
notifyCancellation:
Hotel:
Itinerary:
bookingRegister: obj Set
Booking:
number: var integer
theDate: val Date -- date of issue
customer: ref Person
agent: ref Employee
lastCancelDate: val Date
registerBooking:
-- Register this booking in a register in the agency
cancel:<
confirmText: ref String
confirm:<
TravelBooking: Booking
TravelInfo:< --Travel
source: ref City
destination: ref City
asText:<
out T: ref String
theTravel: ref TravelInfo
confirm::<
--confirmText := confirmText + "(text special for TravelBooking)"
FlightBooking: TravelBooking
TravelInfo::
theFlight: ref Flight
row: var Integer
seat: var Char
theCarrier: ref Carrier
asText::
cancel::
confirm::
TrainBooking: TravelBooking
TravelInfo::
fromStation: ref TrainStation
toStation: ref TrainStation
waggon: var Integer
seat: var Integer
carrier: ref TrainCompany
cancel::
confirm::
HotelBooking: Booking
theHotel: ref Hotel
room: var Integer
arrival: var Date
departure: var Date
confirm::
-- confirmText.append("text special for HotelBooking")
RoundTripBooking:
plan: ref Itinerary
trip: obj OrderedList
confirm: --- used to be ::
--for all bookings b in trip b.confirm -- syntaks
makeBooking:
current: ref FlightBooking
%Module version2