1 package io.extact.rms.client.api.dto;
2
3 import java.time.LocalDateTime;
4
5 import org.apache.commons.lang3.builder.ToStringBuilder;
6 import org.apache.commons.lang3.builder.ToStringStyle;
7
8 import lombok.AllArgsConstructor;
9 import lombok.Getter;
10 import lombok.NoArgsConstructor;
11 import lombok.Setter;
12
13 @Getter
14 @Setter
15 @NoArgsConstructor
16 @AllArgsConstructor(staticName = "of")
17 public class ReservationClientDto implements Convertable {
18
19 private Integer id;
20 private LocalDateTime startDateTime;
21 private LocalDateTime endDateTime;
22 private String note;
23 private int rentalItemId;
24 private int userAccountId;
25 private RentalItemClientDto rentalItemDto;
26 private UserAccountClientDto userAccountDto;
27
28 public static ReservationClientDto ofTransient(LocalDateTime startDateTime, LocalDateTime endDateTime, String note, int rentalItemId, int userAccountId) {
29 return of(null, startDateTime, endDateTime, note, rentalItemId, userAccountId, null, null);
30 }
31
32 @Override
33 public String toString() {
34 return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
35 }
36 }