/*
* $Id: VacationBusiness.java,v 1.4 2005/02/14 14:54:53 laddi Exp $
* Created on 14.2.2005
*
* Copyright (C) 2005 Idega Software hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf.
* Use is subject to license terms.
*/
package se.agura.applications.vacation.business;
import java.sql.Date;
import java.util.Collection;
import java.util.Locale;
import java.util.Map;
import javax.ejb.CreateException;
import javax.ejb.FinderException;
import se.agura.applications.business.ApplicationsBusiness;
import se.agura.applications.vacation.data.VacationRequest;
import se.agura.applications.vacation.data.VacationType;
import com.idega.block.process.data.Case;
import com.idega.user.data.Group;
import com.idega.user.data.User;
/**
* Last modified: $Date: 2005/02/14 14:54:53 $ by $Author: laddi $
*
* @author <a href="mailto:laddi@idega.com">laddi</a>
* @version $Revision: 1.4 $
*/
public interface VacationBusiness extends ApplicationsBusiness {
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#getLocalizedCaseDescription
*/
public String getLocalizedCaseDescription(Case theCase, Locale locale) throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#getPrimaryKeyParameter
*/
public String getPrimaryKeyParameter() throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#getVacationRequest
*/
public VacationRequest getVacationRequest(Object primaryKey) throws FinderException, java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#getVacationType
*/
public VacationType getVacationType(Object primaryKey) throws FinderException, java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#getVacationTimes
*/
public Collection getVacationTimes(VacationRequest vacation) throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#storeApplication
*/
public void storeApplication(User user, Date fromDate, Date toDate, int ordinaryWorkingHours, VacationType type, String[] workingHours, Collection extraInfo, String comment, Locale locale) throws CreateException, java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#storeApplication
*/
public void storeApplication(Object pk, User user, Date fromDate, Date toDate, int ordinaryWorkingHours, VacationType type, String[] workingHours, Collection extraInfo, String comment, Locale locale) throws CreateException, java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#approveApplication
*/
public void approveApplication(VacationRequest vacation, User performer, String comment, boolean hasCompensation) throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#rejectApplication
*/
public void rejectApplication(VacationRequest vacation, User performer, String comment) throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#closeApplication
*/
public void closeApplication(VacationRequest vacation, User performer) throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#forwardApplication
*/
public void forwardApplication(VacationRequest vacation, User performer, Group handlerGroup, User handler, String comment, boolean hasCompensation) throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#getVacationTypes
*/
public Collection getVacationTypes() throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#getLogs
*/
public Collection getLogs(VacationRequest vacation) throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#getParentGroup
*/
public Group getParentGroup(User user) throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#getExtraVacationTypeInformation
*/
public Map getExtraVacationTypeInformation(VacationType type) throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#getExtraInformationType
*/
public String getExtraInformationType(VacationType type, String key) throws java.rmi.RemoteException;
/**
* @see se.agura.applications.vacation.business.VacationBusinessBean#canDeleteCase
*/
public boolean canDeleteCase(Case theCase) throws java.rmi.RemoteException;
}