Record Class PostDTO

java.lang.Object
java.lang.Record
com.example.blogs.app.api.post.dto.PostDTO

public record PostDTO(Long id, String title, String content, String slug, String previewImageUrl, LocalDateTime createdAt, PostUserSummaryDTO author, List<PostCommentSummaryDTO> comments) extends Record
Data transfer object representing a complete blog post with author and comments.
  • Constructor Details

    • PostDTO

      public PostDTO(Long id, String title, String content, String slug, String previewImageUrl, LocalDateTime createdAt, PostUserSummaryDTO author, List<PostCommentSummaryDTO> comments)
      Creates an instance of a PostDTO record class.
      Parameters:
      id - the value for the id record component
      title - the value for the title record component
      content - the value for the content record component
      slug - the value for the slug record component
      previewImageUrl - the value for the previewImageUrl record component
      createdAt - the value for the createdAt record component
      author - the value for the author record component
      comments - the value for the comments record component
  • Method Details

    • toString

      public final String 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.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • 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.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      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. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • id

      public Long id()
      Returns the value of the id record component.
      Returns:
      the value of the id record component
    • title

      public String title()
      Returns the value of the title record component.
      Returns:
      the value of the title record component
    • content

      public String content()
      Returns the value of the content record component.
      Returns:
      the value of the content record component
    • slug

      public String slug()
      Returns the value of the slug record component.
      Returns:
      the value of the slug record component
    • previewImageUrl

      public String previewImageUrl()
      Returns the value of the previewImageUrl record component.
      Returns:
      the value of the previewImageUrl record component
    • createdAt

      public LocalDateTime createdAt()
      Returns the value of the createdAt record component.
      Returns:
      the value of the createdAt record component
    • author

      public PostUserSummaryDTO author()
      Returns the value of the author record component.
      Returns:
      the value of the author record component
    • comments

      public List<PostCommentSummaryDTO> comments()
      Returns the value of the comments record component.
      Returns:
      the value of the comments record component