Package org.silverpeas.components.questionreply.service

## Interface QuestionManager

- All Known Implementing Classes:
    `SilverpeasQuestionManager`

      public interface QuestionManager

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `closeQuestions​(Collection<Long> questionIds)` |
    `long` | `createQuestion​(Question question)` |
    `long` | `createQuestionReply​(Question question, Reply reply)` | Create and persist a question reply
    `long` | `createReply​(Reply reply, Question question)` |
    `void` | `deleteQuestionAndReplies​(Collection<Long> questionIds)` |
    `List<Question>` | `getAllQuestions​(String instanceId)` |
    `List<Question>` | `getAllQuestionsByCategory​(String instanceId, String categoryId)` |
    `List<Reply>` | `getAllReplies​(long questionId, String instanceId)` |
    `List<Question>` | `getPublicQuestions​(String instanceId)` |
    `Question` | `getQuestion​(long questionId)` |
    `Question` | `getQuestionAndReplies​(long questionId)` |
    `List<Reply>` | `getQuestionPrivateReplies​(long questionId, String instanceId)` |
    `List<Reply>` | `getQuestionPublicReplies​(long questionId, String instanceId)` |
    `List<Recipient>` | `getQuestionRecipients​(long questionId)` |
    `List<Reply>` | `getQuestionReplies​(long questionId, String instanceId)` |
    `List<Question>` | `getQuestions​(String instanceId)` |
    `List<Question>` | `getQuestionsByIds​(List<String> ids)` |
    `List<Question>` | `getReceiveQuestions​(String userId, String instanceId)` |
    `Reply` | `getReply​(long replyId)` |
    `List<Question>` | `getSendQuestions​(String userId, String instanceId)` |
    `void` | `openQuestions​(Collection<Long> questionIds)` |
    `void` | `updateQuestion​(Question question)` |
    `void` | `updateQuestionRecipients​(Question question)` |
    `void` | `updateQuestionRepliesPrivateStatus​(Collection<Long> questionIds)` |
    `void` | `updateQuestionRepliesPublicStatus​(Collection<Long> questionIds)` |
    `void` | `updateRepliesPrivateStatus​(Collection<Long> replyIds, Question question)` |
    `void` | `updateRepliesPublicStatus​(Collection<Long> replyIds, Question question)` |
    `void` | `updateReply​(Reply reply)` |

- - ### Method Detail

    - #### createQuestion

          long createQuestion​(Question question)
                       throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### createReply

          long createReply​(Reply reply,
                           Question question)
                    throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### closeQuestions

          void closeQuestions​(Collection<Long> questionIds)
                       throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### openQuestions

          void openQuestions​(Collection<Long> questionIds)
                      throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### updateQuestionRecipients

          void updateQuestionRecipients​(Question question)
                                 throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### updateQuestionRepliesPublicStatus

          void updateQuestionRepliesPublicStatus​(Collection<Long> questionIds)
                                          throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### updateQuestionRepliesPrivateStatus

          void updateQuestionRepliesPrivateStatus​(Collection<Long> questionIds)
                                           throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### updateRepliesPublicStatus

          void updateRepliesPublicStatus​(Collection<Long> replyIds,
                                         Question question)
                                  throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### updateRepliesPrivateStatus

          void updateRepliesPrivateStatus​(Collection<Long> replyIds,
                                          Question question)
                                   throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### updateQuestion

          void updateQuestion​(Question question)
                       throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### updateReply

          void updateReply​(Reply reply)
                    throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### deleteQuestionAndReplies

          void deleteQuestionAndReplies​(Collection<Long> questionIds)
                                 throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getAllReplies

          List<Reply> getAllReplies​(long questionId,
                                    String instanceId)
                             throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getQuestion

          Question getQuestion​(long questionId)
                        throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getQuestionAndReplies

          Question getQuestionAndReplies​(long questionId)
                                  throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getQuestionsByIds

          List<Question> getQuestionsByIds​(List<String> ids)
                                    throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getQuestionReplies

          List<Reply> getQuestionReplies​(long questionId,
                                         String instanceId)
                                  throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getQuestionPublicReplies

          List<Reply> getQuestionPublicReplies​(long questionId,
                                               String instanceId)
                                        throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getQuestionPrivateReplies

          List<Reply> getQuestionPrivateReplies​(long questionId,
                                                String instanceId)
                                         throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getQuestionRecipients

          List<Recipient> getQuestionRecipients​(long questionId)
                                         throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getReply

          Reply getReply​(long replyId)
                  throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getSendQuestions

          List<Question> getSendQuestions​(String userId,
                                          String instanceId)
                                   throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getReceiveQuestions

          List<Question> getReceiveQuestions​(String userId,
                                             String instanceId)
                                      throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getQuestions

          List<Question> getQuestions​(String instanceId)
                               throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getAllQuestions

          List<Question> getAllQuestions​(String instanceId)
                                  throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getAllQuestionsByCategory

          List<Question> getAllQuestionsByCategory​(String instanceId,
                                                   String categoryId)
                                            throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### getPublicQuestions

          List<Question> getPublicQuestions​(String instanceId)
                                     throws QuestionReplyException

      Throws:
        `QuestionReplyException`

    - #### createQuestionReply

          long createQuestionReply​(Question question,
                                   Reply reply)
                            throws QuestionReplyException

      Create and persist a question reply
      Parameters:
        `question` - the new question
        `reply` - the answer linked to the given question
      Returns:
        long identifier of the created question
      Throws:
        `QuestionReplyException`