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

import com.liferay.portal.model.PersistedModel;

/**
 * The extended model interface for the Mensagem service. Represents a row in the &quot;PRT_GESTMSG_MENSAGEM&quot; database table, with each column mapped to a property of this class.
 *
 * @author Henrique Simoes
 * @see MensagemModel
 * @see br.mp.mprj.portal.portlet.gestaomensagens.service.model.impl.MensagemImpl
 * @see br.mp.mprj.portal.portlet.gestaomensagens.service.model.impl.MensagemModelImpl
 * @generated
 */
public interface Mensagem extends MensagemModel, PersistedModel {
    /*
     * NOTE FOR DEVELOPERS:
     *
     * Never modify this interface directly. Add methods to {@link br.mp.mprj.portal.portlet.gestaomensagens.service.model.impl.MensagemImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
     */
    public void setTemplate(
        br.mp.mprj.portal.portlet.gestaomensagens.service.model.Template template);

    public br.mp.mprj.portal.portlet.gestaomensagens.service.model.Template getTemplate();

    /**
    * Objeto com todas as informaÃ§Ãµes referentes ao agendamento: <br>
    * <ul>
    * <li>data/hora selecionadas no calendÃ¡rio</li>
    * <li>configuraÃ§Ãµes de recorrÃªncia</li>
    * <li>datas calculadas da recorrÃªncia</li>
    * </ul>
    */
    public java.util.List<br.mp.mprj.portal.portlet.gestaomensagens.service.model.Agendamento> getAgendamentos();

    public void setAgendamentos(
        java.util.List<br.mp.mprj.portal.portlet.gestaomensagens.service.model.Agendamento> agendamentos);

    /**
    * Informa&ccedil;&atilde;o auxiliar para identificar quais datas (sem a hora) foram
    * selecionadas no calend&aacute;rio. <br>
    * Cada entrada no Map principal utiliza a data no formato UNIX (GMT-3).<br>
    * O Map interno representa os horarios, identificados pelo texto representando a hora e contendo um objeto {@link Agendamento}.
    */
    public java.util.Map<java.lang.Long, java.util.Map<java.lang.String, br.mp.mprj.portal.portlet.gestaomensagens.service.model.Agendamento>> getDatasCalendario();

    public void setDatasCalendario(
        java.util.Map<java.lang.Long, java.util.Map<java.lang.String, br.mp.mprj.portal.portlet.gestaomensagens.service.model.Agendamento>> datasCalendario);

    public boolean isGravarAgendamento();

    public void setGravarAgendamento(boolean gravarAgendamento);

    public java.lang.String getDescricaoStatus();

    public void setDescricaoStatus(java.lang.String descricaoStatus);
}
