package fr.ippon.tatami.repository; import fr.ippon.tatami.domain.Group; import fr.ippon.tatami.domain.status.*; import javax.validation.ConstraintViolationException; import java.util.Collection; /** * The Status Repository. * * @author Julien Dubois */ public interface StatusRepository { Status createStatus(String login, boolean statusPrivate, Group group, Collection<String> attachmentIds, String content, String discussionId, String replyTo, String replyToUsername, String geoLocalization) throws ConstraintViolationException; Share createShare(String login, String originalStatusId); Announcement createAnnouncement(String login, String originalStatusId); MentionFriend createMentionFriend(String login, String followerLogin); MentionShare createMentionShare(String login, String originalStatusId); void removeStatus(AbstractStatus status); /** * Retrieve a persisted status. * * @return null if status was removed */ AbstractStatus findStatusById(String statusId); }