package org.gcube.portal.socialnetworking.model.output; import java.util.Calendar; import java.util.List; import javax.jcr.ItemNotFoundException; import org.gcube.common.homelibrary.home.User; import org.gcube.common.homelibrary.home.exceptions.InternalErrorException; import org.gcube.common.homelibrary.home.workspace.WorkspaceItem; import org.gcube.common.homelibrary.home.workspace.exceptions.WrongDestinationException; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; /** * Used for serialization of {@link org.gcube.common.homelibrary.home.workspace.sharing.WorkspaceMessage} * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it) */ public interface MessageOutputBeanMixIn { @JsonProperty("id") String getId(); @JsonProperty("subject") String getSubject(); @JsonProperty("body") String getBody(); @JsonProperty("sender") User getSender(); @JsonProperty("send_time") Calendar getSendTime(); @JsonProperty("read") boolean isRead(); @JsonProperty("attachments_ids") List getAttachmentsIds(); @JsonProperty("recipients") List getAddresses(); @JsonIgnore void setStatus(boolean status) throws InternalErrorException; @JsonIgnore List getAttachments() throws InternalErrorException; @JsonIgnore WorkspaceItem saveAttachment(String attachmentId, String destinationFolderId) throws InternalErrorException, WrongDestinationException, ItemNotFoundException; @JsonIgnore void open() throws InternalErrorException; @JsonIgnore List getCopyAttachmentsIds(); }