You are on page 1of 1

Visual Paradigm for UML Standard Edition(K.U.

Leuven)

<<Remote>> ISessionRemote +createRentalSession() : IRentalRemote +createManagerSession() : IManagerRemote

SessionBoss -getNameServer() : INameRemote

-sr

NameServer -sr : ISessionRemote -map : HashMap<String, ICompanyRemote> = new HashMap<String, ICompanyRemote>() +NameServer() <<Remote>> INameRemote +addCompany(crc : ICompanyRemote) : void +removeCompany(crc : ICompanyRemote) : void +getCompany(s : String) : ICompanyRemote +getAllCompanies() : Set<ICompanyRemote> +getSessionBoss() : ISessionRemote +setSessionBoss(sr : ISessionRemote) : void

-nr

-ns ManagerSession -ns : INameRemote +ManagerSession(ns : INameRemote) -startDate : Date -endDate : Date -carType : String

<<Serializable>> ReservationConstraints

1 <<Remote>> IManagerRemote +getReservations(comp : String, carType : String) : int

+ReservationConstraints(start : Date, end : Date, carType : String)

-quotes <<Remote>> IRentalRemote RentalSession -nr : INameRemote -quotes : Set<Quote> = new HashSet<Quote>() +RentalSession(nr : INameRemote) +cancelReservation(comp : String, res : Reservation) : void +confirmQuote(comp : String, quote : Quote) : Reservation +createQuote(comp : String, constraints : ReservationConstraints, client : String) : Quote +getAllCarTypes(comp : String) : Collection<CarType> +getCarType(comp : String, carTypeName : String) : CarType +getFreeCarTypes(comp : String, start : Date, end : Date) : Set<CarType> +getName(comp : String) : String +isFree(comp : String, carTypeName : String, start : Date, end : Date) : boolean +getReservationsBy(comp : String, clientName : String) : List<Reservation> +getNumberOfReservationsForCarType(comp : String, carType : String) : int +confirmQuotes() : void * <<Serializable>> Quote -startDate : Date -endDate : Date -carRenter : String -rentalCompany : String -carType : String -rentalPrice : double ~Quote(carRenter : String, start : Date, end : Date, rentalCompany : String, carType : String, rentalPrice : double)

<<Remote>> ICompanyRemote +cancelReservation(res : Reservation) : void +confirmQuote(quote : Quote) : Reservation +createQuote(constraints : ReservationConstraints, client : String) : Quote +getAllCarTypes() : Collection<CarType> +getCarType(carTypeName : String) : CarType +getName() : String +getNumberOfReservationsForCarType(carType : String) : int +getReservationsBy(clientName : String) : ArrayList<Reservation> +isFree(carTypeName : String, start : Date, end : Date) : boolean +getFreeCarTypes(start : Date, end : Date) : Set<CarType>

CarRentalCompany -logger : Logger = Logger.getLogger(CarRentalCompany.class.getName()) -name : String -cars : List<Car> -carTypes : Map<String, CarType> = new HashMap<String, CarType>() +CarRentalCompany(name : String, cars : List<Car>) -setName(name : String) : void -getCar(uid : int) : Car -getFreeCars(carType : String, start : Date, end : Date) : List<Car> -calculateRentalPrice(rentalPricePerDay : double, start : Date, end : Date) : double * Car -id : int -type : CarType -reservations : List<Reservation>

Reservation -carId : int ~Reservation(quote : Quote, carId : int)

* -reservations

-cars

<<Serializable>> CarType -name : String -nbOfSeats : int -smokingAllowed : boolean -rentalPricePerDay : double -trunkSpace : float ~CarType(name : String, nbOfSeats : int, trunkSpace : float, rentalPricePerDay : double, smokingAllowed : boolean) 1

+Car(uid : int, type : CarType) +isFree(start : Date, end : Date) : boolean +addReservation(res : Reservation) : void +removeReservation(reservation : Reservation) : void

-type

You might also like