package br.mp.mprj.portal.portlet.gestaomensagens.service.service;

import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
import com.liferay.portal.kernel.transaction.Isolation;
import com.liferay.portal.kernel.transaction.Propagation;
import com.liferay.portal.kernel.transaction.Transactional;
import com.liferay.portal.security.ac.AccessControlled;
import com.liferay.portal.service.BaseService;
import com.liferay.portal.service.InvokableService;

/**
 * Provides the remote service interface for GrupoDestinatario. Methods of this
 * service are expected to have security checks based on the propagated JAAS
 * credentials because this service can be accessed remotely.
 *
 * @author Henrique Simoes
 * @see GrupoDestinatarioServiceUtil
 * @see br.mp.mprj.portal.portlet.gestaomensagens.service.service.base.GrupoDestinatarioServiceBaseImpl
 * @see br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.GrupoDestinatarioServiceImpl
 * @generated
 */
@AccessControlled
@JSONWebService
@Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
    PortalException.class, SystemException.class}
)
public interface GrupoDestinatarioService extends BaseService, InvokableService {
    /*
     * NOTE FOR DEVELOPERS:
     *
     * Never modify or reference this interface directly. Always use {@link GrupoDestinatarioServiceUtil} to access the grupo destinatario remote service. Add custom service methods to {@link br.mp.mprj.portal.portlet.gestaomensagens.service.service.impl.GrupoDestinatarioServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
     */

    /**
    * Returns the Spring bean ID for this bean.
    *
    * @return the Spring bean ID for this bean
    */
    public java.lang.String getBeanIdentifier();

    /**
    * Sets the Spring bean ID for this bean.
    *
    * @param beanIdentifier the Spring bean ID for this bean
    */
    public void setBeanIdentifier(java.lang.String beanIdentifier);

    @Override
    public java.lang.Object invokeMethod(java.lang.String name,
        java.lang.String[] parameterTypes, java.lang.Object[] arguments)
        throws java.lang.Throwable;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public br.mp.mprj.portal.portlet.gestaomensagens.ws.vo.CodigoDescricaoRetorno getListaDestinatario(
        java.lang.String nomeLista);

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public br.mp.mprj.portal.portlet.gestaomensagens.ws.vo.CodigoDescricaoRetorno getContaEnvio(
        java.lang.String nomeContaEnvio);
}
