View Javadoc
1   package io.extact.rms.external.webapi.dto;
2   
3   import org.apache.commons.lang3.builder.ToStringBuilder;
4   import org.apache.commons.lang3.builder.ToStringStyle;
5   import org.eclipse.microprofile.openapi.annotations.media.Schema;
6   
7   import lombok.Getter;
8   import lombok.Setter;
9   
10  import io.extact.rms.application.domain.RentalItem;
11  import io.extact.rms.application.domain.constraint.ItemName;
12  import io.extact.rms.application.domain.constraint.RmsId;
13  import io.extact.rms.application.domain.constraint.SerialNo;
14  
15  @Schema(description = "レンタル品DTO")
16  @Getter
17  @Setter
18  public class RentalItemResourceDto {
19  
20      @RmsId
21      @Schema(required = true)
22      private Integer id;
23  
24      @SerialNo
25      @Schema(required = true)
26      private String serialNo;
27  
28      @ItemName
29      @Schema(required = false)
30      private String itemName;
31  
32      public static RentalItemResourceDto toDto(RentalItem entity) {
33          if (entity == null) {
34              return null;
35          }
36          var dto = new RentalItemResourceDto();
37          dto.setId(entity.getId());
38          dto.setSerialNo(entity.getSerialNo());
39          dto.setItemName(entity.getItemName());
40          return dto;
41      }
42  
43      public RentalItem toEntity() {
44          return RentalItem.of(id, serialNo, itemName);
45      }
46  
47      @Override
48      public String toString() {
49          return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
50      }
51  }