63 lines
1.6 KiB
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();
|
|
|
|
}
|