/*
* $Id: CommuneMessageBusiness.java,v 1.1.2.1 2006/02/14 17:50:54 palli Exp $
* Created on Feb 13, 2006
*
* Copyright (C) 2006 Idega Software hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf.
* Use is subject to license terms.
*/
package se.idega.idegaweb.commune.message.business;
import java.io.File;
import java.rmi.RemoteException;
import java.util.Collection;
import javax.ejb.CreateException;
import javax.ejb.FinderException;
import se.idega.idegaweb.commune.message.data.MessageHandlerInfo;
import se.idega.idegaweb.commune.message.data.PrintMessage;
import se.idega.idegaweb.commune.message.data.PrintedLetterMessage;
import se.idega.idegaweb.commune.message.data.SystemArchivationMessage;
import com.idega.block.process.data.Case;
import com.idega.block.process.data.CaseCode;
import com.idega.block.process.message.business.MessageBusiness;
import com.idega.block.process.message.data.Message;
import com.idega.business.IBOLookupException;
import com.idega.business.IBOService;
import com.idega.core.component.data.ICObject;
import com.idega.core.file.data.ICFile;
import com.idega.data.IDOException;
import com.idega.idegaweb.IWUserContext;
import com.idega.user.data.Group;
import com.idega.user.data.User;
import com.idega.util.IWTimestamp;
/**
* <p>
* TODO laddi Describe Type CommuneMessageBusiness
* </p>
* Last modified: $Date: 2006/02/14 17:50:54 $ by $Author: palli $
*
* @author <a href="mailto:laddi@idega.com">laddi</a>
* @version $Revision: 1.1.2.1 $
*/
public interface CommuneMessageBusiness extends IBOService, MessageBusiness {
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#deleteUserMessage
*/
public void deleteUserMessage(int messageID) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getCaseCodeSystemArchivationMessage
*/
public CaseCode getCaseCodeSystemArchivationMessage() throws RemoteException, FinderException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getCaseCodeUserMessage
*/
public CaseCode getCaseCodeUserMessage() throws RemoteException, FinderException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getCaseCodePrintedLetterMessage
*/
public CaseCode getCaseCodePrintedLetterMessage() throws RemoteException, FinderException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getUserMessage
*/
public Message getUserMessage(int messageId) throws FinderException, RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getNumberOfMessages
*/
public int getNumberOfMessages(User user) throws Exception, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getNumberOfNewMessages
*/
public int getNumberOfNewMessages(User user) throws IDOException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getNumberOfMessages
*/
public int getNumberOfMessages(User user, Collection groups) throws Exception, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#findMessages
*/
public Collection findMessages(User user) throws Exception, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#findMessages
*/
public Collection findMessages(User user, int numberOfEntries, int startingEntry) throws Exception, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#findMessages
*/
public Collection findMessages(User user, Collection groups, int numberOfEntries, int startingEntry) throws Exception, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#findMessages
*/
public Collection findMessages(Group group) throws Exception, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#findMessages
*/
public Collection findMessages(Group group, int numberOfEntries, int startingEntry) throws Exception, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(User user, String subject, String body) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(User user, String subject, String body, boolean sendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(User user, String subject, Group handler, String body, boolean sendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(User user, String subject, Group handler, String body, boolean sendLetter, String contentCode) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(User receiver, String subject, String body, User sender, boolean sendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, String subject, String body, boolean sendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, String subject, String body, boolean sendLetter, boolean alwaysSendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, String subject, String body, String letterBody, boolean sendLetter, boolean alwaysSendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, String subject, String body, String letterBody, File attachment, boolean sendLetter, boolean alwaysSendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, User sender, String subject, String body, boolean sendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, User sender, Group handler, String subject, String body, boolean sendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, User sender, Group handler, String subject, String body, boolean pSendLetterIfNoEmail, String contentCode) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, User sender, Group handler, String subject, String body, boolean pSendLetterIfNoEmail, String contentCode, boolean alwaysSendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, User sender, Group handler, String subject, String body, String letterBody, boolean pSendLetterIfNoEmail, String contentCode, boolean alwaysSendLetter) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, User sender, Group handler, String subject, String body, String letterBody, boolean sendLetterIfNoEmail, String contentCode, boolean alwaysSendLetter, boolean sendMail) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(Case parentCase, User receiver, User sender, Group handler, String subject, String body, String letterBody, File attachment, boolean sendLetterIfNoEmail, String contentCode, boolean alwaysSendLetter, boolean sendMail) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(MessageValue msgValue) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createUserMessage
*/
public Message createUserMessage(int userID, String subject, String body) throws CreateException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getPrintedLetterMessages
*/
public Collection getPrintedLetterMessages() throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getPrintedLetterMessagesByType
*/
public Collection getPrintedLetterMessagesByType(String type, int resultSize, int startingIndex) throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getPrintedLetterMessagesByType
*/
public Collection getPrintedLetterMessagesByType(String type, IWTimestamp from, IWTimestamp to, int resultSize, int startingIndex) throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getSinglePrintedLetterMessagesByType
*/
public Collection getSinglePrintedLetterMessagesByType(String type, IWTimestamp from, IWTimestamp to, int resultSize, int startingIndex) throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getUnPrintedLetterMessages
*/
public Collection getUnPrintedLetterMessages() throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getUnPrintedLetterMessagesByType
*/
public Collection getUnPrintedLetterMessagesByType(String type, int resultSize, int startingIndex) throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getUnPrintedLetterMessagesByType
*/
public Collection getUnPrintedLetterMessagesByType(String type, IWTimestamp from, IWTimestamp to, int resultSize, int startingIndex) throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getSingleUnPrintedLetterMessagesByType
*/
public Collection getSingleUnPrintedLetterMessagesByType(String type, IWTimestamp from, IWTimestamp to, int resultSize, int startingIndex) throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getSingleLettersByTypeAndStatus
*/
public Collection getSingleLettersByTypeAndStatus(String type, String status, IWTimestamp from, IWTimestamp to, int resultSize, int startingIndex) throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getLettersByBulkFile
*/
public Collection getLettersByBulkFile(int file, String type, String status, int resultSize, int startingIndex) throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#flagPrintedLetterAsPrinted
*/
public void flagPrintedLetterAsPrinted(User performer, PrintedLetterMessage message) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#flagMessageAsPrinted
*/
public void flagMessageAsPrinted(User performer, Message message) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#flagMessageAsUnPrinted
*/
public void flagMessageAsUnPrinted(User performer, Message message) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#flagMessageWithStatus
*/
public void flagMessageWithStatus(User performer, Message message, String status) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#flagMessagesWithStatus
*/
public void flagMessagesWithStatus(User performer, String[] msgKeys, String status) throws FinderException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createPrintArchivationMessage
*/
public Message createPrintArchivationMessage(User user, String subject, String body) throws CreateException, RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createPrintArchivationMessage
*/
public Message createPrintArchivationMessage(int userID, String subject, String body) throws CreateException, RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createPrintArchivationMessage
*/
public SystemArchivationMessage createPrintArchivationMessage(User forUser, User creator, String subject, String body, ICFile attatchement) throws CreateException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createPrintArchivationMessage
*/
public SystemArchivationMessage createPrintArchivationMessage(int forUserID, int creatorUserID, String subject, String body, int attatchementFileID) throws CreateException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createPrintedPasswordLetterMessage
*/
public PrintedLetterMessage createPrintedPasswordLetterMessage(User user, String subject, String body) throws CreateException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createPasswordMessage
*/
public PrintedLetterMessage createPasswordMessage(User user, String username, String password) throws CreateException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createPrintedLetterMessage
*/
public Message createPrintedLetterMessage(int userID, String subject, String body) throws CreateException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#sendMessage
*/
public void sendMessage(String email, String subject, String body) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#sendMessage
*/
public void sendMessage(String email, String subject, String body, File attachment) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getIfUserPreferesMessageByEmail
*/
public boolean getIfUserPreferesMessageByEmail(User user) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getIfUserPreferesMessageInMessageBox
*/
public boolean getIfUserPreferesMessageInMessageBox(User user) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getIfCanSendEmail
*/
public boolean getIfCanSendEmail() throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#setIfUserPreferesMessageByEmail
*/
public void setIfUserPreferesMessageByEmail(User user, boolean preference) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#setIfUserPreferesMessageInMessageBox
*/
public void setIfUserPreferesMessageInMessageBox(User user, boolean preference) throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#sendMessageToCommuneAdministrators
*/
public void sendMessageToCommuneAdministrators(String subject, String body) throws RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#sendMessageToCommuneAdministrators
*/
public void sendMessageToCommuneAdministrators(Case theCase, String subject, String body) throws RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getMessageSession
*/
public MessageSession getMessageSession(IWUserContext iwuc) throws IBOLookupException, java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#getBundleIdentifier
*/
public String getBundleIdentifier() throws java.rmi.RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#createMessageHandlerInfo
*/
public MessageHandlerInfo createMessageHandlerInfo(MessagePdfHandler handler, ICObject ico) throws CreateException, RemoteException;
/**
* @see se.idega.idegaweb.commune.message.business.CommuneMessageBusinessBean#setMessageFile
*/
public void setMessageFile(PrintMessage msg, boolean flagPrinted, User performer, ICFile file) throws java.rmi.RemoteException;
}