Package org.silverpeas.components.questionreply.service

# Interface QuestionManager

All Known Implementing Classes:
  `SilverpeasQuestionManager`

public interface QuestionManager

- ## Method Summary

  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 Details

  - ### 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`