책 기록 정보를 클라이언트에 보내주는 책 기록 응답 DTO 객체를 만들겠습니다. 책 기록 응답 객체는 단독으로 사용되는 것은 아니고 책 정보 객체 BookReadResponseDTO의 하위 정보로 쓰여집니다.
com.yse.dev.book.dto 패키지에 BookLogReadResponseDTO 클래스를 생성합니다.
src/main/java > com.yse.dev.book.dto > BookLogReadResponseDTO.java
package com.yse.dev.book.dto;
import java.time.LocalDateTime;
import com.yse.dev.book.entity.BookLog;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@NoArgsConstructor
@Getter
@Setter
public class BookLogReadResponseDTO {
private Integer bookLogId;
private String comment;
private Integer page;
private LocalDateTime insertDateTime;
private String displayComment;
public BookLogReadResponseDTO fromBookLog(BookLog bookLog) {
this.bookLogId = bookLog.getBookLogId();
this.comment = bookLog.getComment();
this.page = bookLog.getPage();
this.insertDateTime = bookLog.getInsertDateTime();
this.displayComment = (this.page == null ? "" : "(p." + String.valueOf(this.page) + ".) ") + this.comment;
return this;
}
public static BookLogReadResponseDTO BookLogFactory(BookLog bookLog) {
BookLogReadResponseDTO bookLogReadResponseDTO = new BookLogReadResponseDTO();
bookLogReadResponseDTO.fromBookLog(bookLog);
return bookLogReadResponseDTO;
}
}
displayComment는 책 기록을 보여주기 위한 가상의 필드입니다.