Package dev.dokimos.server.dto.v1
Record Class PageResponse<T>
java.lang.Object
java.lang.Record
dev.dokimos.server.dto.v1.PageResponse<T>
public record PageResponse<T>(List<T> content, int number, int size, long totalElements, int totalPages, boolean first, boolean last, int numberOfElements, boolean empty, PageResponse.PageSort sort, PageResponse.PageablePage pageable)
extends Record
Stable page envelope used by paginated endpoints. The JSON shape mirrors Spring's default
Page<T> serialization field-for-field (including the nested sort and
pageable objects) so a single generated client type can deserialize responses from any
paginated endpoint regardless of whether the controller returns Page<T> directly or wraps
it in this DTO.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordMirrors Spring'sPageableObjectJSON shape.static final recordMirrors Spring'sSortObjectJSON shape. -
Constructor Summary
ConstructorsConstructorDescriptionPageResponse(List<T> content, int number, int size, long totalElements, int totalPages, boolean first, boolean last, int numberOfElements, boolean empty, PageResponse.PageSort sort, PageResponse.PageablePage pageable) Creates an instance of aPageResponserecord class. -
Method Summary
Modifier and TypeMethodDescriptioncontent()Returns the value of thecontentrecord component.booleanempty()Returns the value of theemptyrecord component.final booleanIndicates whether some other object is "equal to" this one.booleanfirst()Returns the value of thefirstrecord component.final inthashCode()Returns a hash code value for this object.booleanlast()Returns the value of thelastrecord component.intnumber()Returns the value of thenumberrecord component.intReturns the value of thenumberOfElementsrecord component.static <T> PageResponse<T> of(org.springframework.data.domain.Page<T> page) pageable()Returns the value of thepageablerecord component.intsize()Returns the value of thesizerecord component.sort()Returns the value of thesortrecord component.final StringtoString()Returns a string representation of this record class.longReturns the value of thetotalElementsrecord component.intReturns the value of thetotalPagesrecord component.
-
Constructor Details
-
PageResponse
public PageResponse(List<T> content, int number, int size, long totalElements, int totalPages, boolean first, boolean last, int numberOfElements, boolean empty, PageResponse.PageSort sort, PageResponse.PageablePage pageable) Creates an instance of aPageResponserecord class.- Parameters:
content- the value for thecontentrecord componentnumber- the value for thenumberrecord componentsize- the value for thesizerecord componenttotalElements- the value for thetotalElementsrecord componenttotalPages- the value for thetotalPagesrecord componentfirst- the value for thefirstrecord componentlast- the value for thelastrecord componentnumberOfElements- the value for thenumberOfElementsrecord componentempty- the value for theemptyrecord componentsort- the value for thesortrecord componentpageable- the value for thepageablerecord component
-
-
Method Details
-
of
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with '=='. -
content
Returns the value of thecontentrecord component.- Returns:
- the value of the
contentrecord component
-
number
public int number()Returns the value of thenumberrecord component.- Returns:
- the value of the
numberrecord component
-
size
public int size()Returns the value of thesizerecord component.- Returns:
- the value of the
sizerecord component
-
totalElements
public long totalElements()Returns the value of thetotalElementsrecord component.- Returns:
- the value of the
totalElementsrecord component
-
totalPages
public int totalPages()Returns the value of thetotalPagesrecord component.- Returns:
- the value of the
totalPagesrecord component
-
first
public boolean first()Returns the value of thefirstrecord component.- Returns:
- the value of the
firstrecord component
-
last
public boolean last()Returns the value of thelastrecord component.- Returns:
- the value of the
lastrecord component
-
numberOfElements
public int numberOfElements()Returns the value of thenumberOfElementsrecord component.- Returns:
- the value of the
numberOfElementsrecord component
-
empty
public boolean empty()Returns the value of theemptyrecord component.- Returns:
- the value of the
emptyrecord component
-
sort
Returns the value of thesortrecord component.- Returns:
- the value of the
sortrecord component
-
pageable
Returns the value of thepageablerecord component.- Returns:
- the value of the
pageablerecord component
-