social-service-model/src/main/java/org/gcube/portal/socialnetworking/model/output/MessageOutputBeanMixIn.java

63 lines
1.6 KiB
Java

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<String> getAttachmentsIds();
@JsonProperty("recipients")
List<String> getAddresses();
@JsonIgnore
void setStatus(boolean status) throws InternalErrorException;
@JsonIgnore
List<WorkspaceItem> getAttachments() throws InternalErrorException;
@JsonIgnore
WorkspaceItem saveAttachment(String attachmentId, String destinationFolderId)
throws InternalErrorException, WrongDestinationException,
ItemNotFoundException;
@JsonIgnore
void open() throws InternalErrorException;
@JsonIgnore
List<String> getCopyAttachmentsIds();
}