RentalItemResourceDto.java
package io.extact.rms.external.webapi.dto;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.eclipse.microprofile.openapi.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import io.extact.rms.application.domain.RentalItem;
import io.extact.rms.application.domain.constraint.ItemName;
import io.extact.rms.application.domain.constraint.RmsId;
import io.extact.rms.application.domain.constraint.SerialNo;
@Schema(description = "レンタル品DTO")
@Getter
@Setter
public class RentalItemResourceDto {
@RmsId
@Schema(required = true)
private Integer id;
@SerialNo
@Schema(required = true)
private String serialNo;
@ItemName
@Schema(required = false)
private String itemName;
public static RentalItemResourceDto toDto(RentalItem entity) {
if (entity == null) {
return null;
}
var dto = new RentalItemResourceDto();
dto.setId(entity.getId());
dto.setSerialNo(entity.getSerialNo());
dto.setItemName(entity.getItemName());
return dto;
}
public RentalItem toEntity() {
return RentalItem.of(id, serialNo, itemName);
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}
}