1package io.example.domain.dto;
2
3public record UserView( 4 String id, 5 6 String username, 7 String fullName 8) { 910}
5import javax.validation.constraints.NotBlank;
6import java.util.Set;
7
8public record UpdateUserRequest( 9 @NotBlank10 String fullName,11 Set<String> authorities12) {1314 @Builder15 public UpdateUserRequest {16 }1718 public UpdateUserRequest() {19 this(null, null);20 }21}
2
3import lombok.Builder;
4
5public record SearchUsersQuery( 6 String id, 7 String username, 8 String fullName 9) {1011 @Builder12 public SearchUsersQuery {13 }1415 public SearchUsersQuery() {16 this(null, null, null);17 }18}
3import javax.validation.Valid;
4import javax.validation.constraints.NotNull;
5
6public record SearchRequest<T>( 7 @Valid 8 @NotNull 9 Page page,1011 @Valid12 @NotNull13 T query14) {1516 public SearchRequest {17 }1819 public SearchRequest(T query) {20 this(new Page(), query);21 }22}
6import java.time.LocalDateTime;
7import java.util.Set;
8
9public record SearchBooksQuery(10 String id,1112 String creatorId,13 LocalDateTime createdAtStart,14 LocalDateTime createdAtEnd,1516 String title,17 Set<String> genres,18 String isbn13,19 String isbn10,20 String publisher,21 LocalDate publishDateStart,22 LocalDate publishDateEnd,2324 String authorId,25 String authorFullName26) {2728 @Builder29 public SearchBooksQuery {30 }3132 public SearchBooksQuery() {33 this(null, null, null, null, null, null, null, null, null, null, null, null, null);34 }35}
This declaration is not documented.
Consider adding a documentation comment to explain its functionality.
While it may seem like the functionality of this declaration is perfectly obvious, any consumers of your API or future maintainers may not be able to pick up on certain details.
In the example below, the meaning of AUIHighlight
may not be entirely clear, and questions such as what AUI
means may pop up.
public enum AUIHighlight {
LIGHT_BLUE(0x00ADD8E6),
DARK_BLUE(0x0000008B),
// ...
private int value;
AUIHighlight(int val) {
value = val;
}
}
Make sure to document any non-obvious details about any code element.
/**
* UI highlight color values for the action bar of the application.
*/
public enum AUIHighlight {
// ...
}