package net.sourceforge.seqware.common.business;
import net.sourceforge.seqware.common.dao.RegistrationDAO;
import net.sourceforge.seqware.common.invitation.InvitationParams;
import net.sourceforge.seqware.common.model.Registration;
import net.sourceforge.seqware.common.model.RegistrationDTO;
import org.springframework.mail.MailSender;
/**
* <p>
* RegistrationService interface.
* </p>
*
* @author boconnor
* @version $Id: $Id
*/
public interface RegistrationService {
/** Constant <code>NAME="registrationService"</code> */
public static final String NAME = "registrationService";
/**
* <p>
* setRegistrationDAO.
* </p>
*
* @param registrationDAO
* a {@link net.sourceforge.seqware.common.dao.RegistrationDAO} object.
*/
public void setRegistrationDAO(RegistrationDAO registrationDAO);
/**
* <p>
* insert.
* </p>
*
* @param registration
* a {@link net.sourceforge.seqware.common.model.RegistrationDTO} object.
*/
public void insert(RegistrationDTO registration);
/**
* <p>
* update.
* </p>
*
* @param registration
* a {@link net.sourceforge.seqware.common.model.RegistrationDTO} object.
*/
public void update(RegistrationDTO registration);
/**
* <p>
* findByEmailAddress.
* </p>
*
* @param emailAddress
* a {@link java.lang.String} object.
* @return a {@link net.sourceforge.seqware.common.model.RegistrationDTO} object.
*/
public RegistrationDTO findByEmailAddress(String emailAddress);
/**
* <p>
* findByEmailAddressAndPassword.
* </p>
*
* @param emailAddress
* a {@link java.lang.String} object.
* @param password
* a {@link java.lang.String} object.
* @return a {@link net.sourceforge.seqware.common.model.RegistrationDTO} object.
*/
public RegistrationDTO findByEmailAddressAndPassword(String emailAddress, String password);
/**
* <p>
* hasEmailAddressBeenUsed.
* </p>
*
* @param email
* a {@link java.lang.String} object.
* @return a boolean.
*/
public boolean hasEmailAddressBeenUsed(String email);
/**
* <p>
* insert.
* </p>
*
* @param emails
* an array of {@link java.lang.String} objects.
* @param invitationParams
* a {@link net.sourceforge.seqware.common.invitation.InvitationParams} object.
* @param sender
* a {@link org.springframework.mail.MailSender} object.
*/
public void insert(String[] emails, InvitationParams invitationParams, MailSender sender);
/**
* <p>
* updateDetached.
* </p>
*
* @param registration
* a {@link net.sourceforge.seqware.common.model.Registration} object.
* @return a {@link net.sourceforge.seqware.common.model.Registration} object.
*/
Registration updateDetached(Registration registration);
}
// ex:sw=4:ts=4: