66 lines
2.0 KiB
Plaintext
66 lines
2.0 KiB
Plaintext
@startuml
|
|
package com.ashishtrivedi16.transaction-script {
|
|
class App {
|
|
- H2_DB_URL : String {static}
|
|
- LOGGER : Logger {static}
|
|
- addRooms(hotelDaoImpl : HotelDaoImpl) {static}
|
|
- createDataSource() : DataSource {static}
|
|
- createSchema(dataSource : DataSource) {static}
|
|
- deleteSchema(dataSource : DataSource) {static}
|
|
- getRoomsStatus(hotelDaoImpl : HotelDaoImpl) {static}
|
|
- generateSampleRooms() : List<Room> {static}
|
|
+ main(args : String[]) {static}
|
|
}
|
|
class Room {
|
|
- id: Int
|
|
- roomType: String
|
|
- price: Int
|
|
- booked: Boolean
|
|
+ Customer(id : int, roomType : String, price: Int, booked: Boolean)
|
|
+ getId() : int
|
|
+ getRoomType() : String
|
|
+ getPrice() : Int
|
|
+ isBooked() : Boolean
|
|
+ setId(id : int)
|
|
+ setRoomType(roomType : String)
|
|
+ setPrice(price : Int)
|
|
+ setBooked(booked : boolean)
|
|
+ equals(that : Object) : boolean
|
|
+ hashCode() : int
|
|
+ toString() : String
|
|
}
|
|
interface HotelDao {
|
|
+ add(Room) : boolean {abstract}
|
|
+ delete(Room) : boolean {abstract}
|
|
+ getAll() : Stream<Room> {abstract}
|
|
+ getById(int) : Optional<Room> {abstract}
|
|
+ update(Room) : boolean {abstract}
|
|
}
|
|
class RoomSchemaSql {
|
|
+ CREATE_SCHEMA_SQL : String {static}
|
|
+ DELETE_SCHEMA_SQL : String {static}
|
|
- RoomSchemaSql()
|
|
}
|
|
class HotelDaoImpl {
|
|
- dataSource : DataSource
|
|
+ HotelDaoImpl(dataSource : DataSource)
|
|
+ add(room : Room) : boolean
|
|
- createRoom(resultSet : ResultSet) : Room
|
|
+ delete(room : Room) : boolean
|
|
+ getAll() : Stream<Room>
|
|
+ getById(id : int) : Optional<Room>
|
|
- getConnection() : Connection
|
|
- mutedClose(connection : Connection, statement : PreparedStatement, resultSet : ResultSet)
|
|
+ update(room : Room) : boolean
|
|
}
|
|
class Hotel {
|
|
- LOGGER : Logger {static}
|
|
- hotelDao: HotelDaoImpl
|
|
+ Hotel(hotelDao: HotelDaoImpl)
|
|
+ bookRoom(roomNumber: Int)
|
|
+ cancelRoomBooking(roomNumber: Int)
|
|
}
|
|
}
|
|
HotelDaoImpl ..|> HotelDao
|
|
@enduml
|