Interface CommentOperations

All Known Subinterfaces:
WpRestClient
All Known Implementing Classes:
ApacheWpRestClient, WpBaseRestClient

public interface CommentOperations
Defines operations for managing WordPress comments through the WordPress REST API.

This interface provides methods for creating, retrieving, updating, listing, trashing, and deleting WpComment resources.

Operations support standard WordPress REST API features such as pagination, filtering, retrieval contexts, password-protected content, and partial querying.

Implementations are expected to communicate with the /wp-json/wp/v2/comments endpoint or compatible APIs.

  • Method Details

    • createComment

      WpComment createComment(@NonNull @NonNull WpCommentCreateUpdateRequest creationRequest)
      Creates a new comment.

      Creates a comment in WordPress using the provided request payload.

      Parameters:
      creationRequest - the comment creation request; must not be null
      Returns:
      the created WpComment
    • deleteComment

      WpCommentDeletionResponse deleteComment(long id)
      Permanently deletes a comment by its unique identifier.
      Parameters:
      id - the ID of the comment to delete
      Returns:
      the comment deletion response
    • getComment

      WpComment getComment(long id, WpContext context)
      Retrieves a comment by its unique identifier using the given context.

      The context determines which fields are included in the response, for example WpContext.VIEW, WpContext.EDIT, or WpContext.EMBED.

      Parameters:
      id - the ID of the comment to retrieve
      context - the retrieval context; may be null, in which case WpContext.VIEW is used
      Returns:
      the matching WpComment
    • getComment

      WpComment getComment(long id, WpContext context, String password)
      Retrieves a comment by its unique identifier using the given context and optional password.

      The context determines which fields are included in the response, for example WpContext.VIEW, WpContext.EDIT, or WpContext.EMBED.

      If the comment is password protected, the provided password is used to access protected content. If the password is missing or incorrect, protected fields such as content may be omitted or flagged as protected in the response.

      Parameters:
      id - the ID of the comment to retrieve
      context - the retrieval context; may be null, in which case WpContext.VIEW is used
      password - the password for protected content; may be null when not required
      Returns:
      the matching WpComment
    • listComments

      WpPagedResponse<WpComment> listComments(@NonNull @NonNull WpPagingQuery pageQuery, WpCommentQuery commentQuery)
      Retrieves a paginated list of comments using optional filtering and sorting criteria.

      The result set can be refined using WpCommentQuery, for example by filtering on search criteria, include or exclude lists, or sort order.

      Parameters:
      pageQuery - the pagination settings, including page number and page size; must not be null
      commentQuery - additional comment query parameters; may be null when no extra filtering is needed
      Returns:
      a paginated response containing WpComment items
    • trashComment

      WpComment trashComment(long id)
      Moves a comment to the trash by its unique identifier.
      Parameters:
      id - the ID of the comment to trash
      Returns:
      the trashed WpComment
    • updateComment

      WpComment updateComment(long id, @NonNull @NonNull WpCommentCreateUpdateRequest updateRequest)
      Updates an existing comment.

      Updates a comment in WordPress using the provided request payload.

      Parameters:
      id - the ID of the comment to update
      updateRequest - the post update request; must not be null
      Returns:
      the updated WpComment