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

import com.liferay.portal.kernel.bean.AutoEscape;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.CacheModel;
import com.liferay.portal.service.ServiceContext;

import com.liferay.portlet.expando.model.ExpandoBridge;

import java.io.Serializable;

import java.util.Date;

/**
 * The base model interface for the GrupoDestinatario service. Represents a row in the &quot;PRT_GESTMSG_GRP_DESTINATARIO&quot; database table, with each column mapped to a property of this class.
 *
 * <p>
 * This interface and its corresponding implementation {@link br.mp.mprj.portal.portlet.gestaomensagens.service.model.impl.GrupoDestinatarioModelImpl} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link br.mp.mprj.portal.portlet.gestaomensagens.service.model.impl.GrupoDestinatarioImpl}.
 * </p>
 *
 * @author Henrique Simoes
 * @see GrupoDestinatario
 * @see br.mp.mprj.portal.portlet.gestaomensagens.service.model.impl.GrupoDestinatarioImpl
 * @see br.mp.mprj.portal.portlet.gestaomensagens.service.model.impl.GrupoDestinatarioModelImpl
 * @generated
 */
public interface GrupoDestinatarioModel extends BaseModel<GrupoDestinatario> {
    /*
     * NOTE FOR DEVELOPERS:
     *
     * Never modify or reference this interface directly. All methods that expect a grupo destinatario model instance should use the {@link GrupoDestinatario} interface instead.
     */

    /**
     * Returns the primary key of this grupo destinatario.
     *
     * @return the primary key of this grupo destinatario
     */
    public long getPrimaryKey();

    /**
     * Sets the primary key of this grupo destinatario.
     *
     * @param primaryKey the primary key of this grupo destinatario
     */
    public void setPrimaryKey(long primaryKey);

    /**
     * Returns the uuid of this grupo destinatario.
     *
     * @return the uuid of this grupo destinatario
     */
    @AutoEscape
    public String getUuid();

    /**
     * Sets the uuid of this grupo destinatario.
     *
     * @param uuid the uuid of this grupo destinatario
     */
    public void setUuid(String uuid);

    /**
     * Returns the grupo destinatario ID of this grupo destinatario.
     *
     * @return the grupo destinatario ID of this grupo destinatario
     */
    public long getGrupoDestinatarioId();

    /**
     * Sets the grupo destinatario ID of this grupo destinatario.
     *
     * @param grupoDestinatarioId the grupo destinatario ID of this grupo destinatario
     */
    public void setGrupoDestinatarioId(long grupoDestinatarioId);

    /**
     * Returns the company ID of this grupo destinatario.
     *
     * @return the company ID of this grupo destinatario
     */
    public long getCompanyId();

    /**
     * Sets the company ID of this grupo destinatario.
     *
     * @param companyId the company ID of this grupo destinatario
     */
    public void setCompanyId(long companyId);

    /**
     * Returns the group ID of this grupo destinatario.
     *
     * @return the group ID of this grupo destinatario
     */
    public long getGroupId();

    /**
     * Sets the group ID of this grupo destinatario.
     *
     * @param groupId the group ID of this grupo destinatario
     */
    public void setGroupId(long groupId);

    /**
     * Returns the user ID of this grupo destinatario.
     *
     * @return the user ID of this grupo destinatario
     */
    public long getUserId();

    /**
     * Sets the user ID of this grupo destinatario.
     *
     * @param userId the user ID of this grupo destinatario
     */
    public void setUserId(long userId);

    /**
     * Returns the user uuid of this grupo destinatario.
     *
     * @return the user uuid of this grupo destinatario
     * @throws SystemException if a system exception occurred
     */
    public String getUserUuid() throws SystemException;

    /**
     * Sets the user uuid of this grupo destinatario.
     *
     * @param userUuid the user uuid of this grupo destinatario
     */
    public void setUserUuid(String userUuid);

    /**
     * Returns the nome of this grupo destinatario.
     *
     * @return the nome of this grupo destinatario
     */
    @AutoEscape
    public String getNome();

    /**
     * Sets the nome of this grupo destinatario.
     *
     * @param nome the nome of this grupo destinatario
     */
    public void setNome(String nome);

    /**
     * Returns the finalidade of this grupo destinatario.
     *
     * @return the finalidade of this grupo destinatario
     */
    @AutoEscape
    public String getFinalidade();

    /**
     * Sets the finalidade of this grupo destinatario.
     *
     * @param finalidade the finalidade of this grupo destinatario
     */
    public void setFinalidade(String finalidade);

    /**
     * Returns the user ID responsaveis of this grupo destinatario.
     *
     * @return the user ID responsaveis of this grupo destinatario
     */
    @AutoEscape
    public String getUserIdResponsaveis();

    /**
     * Sets the user ID responsaveis of this grupo destinatario.
     *
     * @param userIdResponsaveis the user ID responsaveis of this grupo destinatario
     */
    public void setUserIdResponsaveis(String userIdResponsaveis);

    /**
     * Returns the lista temporaria of this grupo destinatario.
     *
     * @return the lista temporaria of this grupo destinatario
     */
    public boolean getListaTemporaria();

    /**
     * Returns <code>true</code> if this grupo destinatario is lista temporaria.
     *
     * @return <code>true</code> if this grupo destinatario is lista temporaria; <code>false</code> otherwise
     */
    public boolean isListaTemporaria();

    /**
     * Sets whether this grupo destinatario is lista temporaria.
     *
     * @param listaTemporaria the lista temporaria of this grupo destinatario
     */
    public void setListaTemporaria(boolean listaTemporaria);

    /**
     * Returns the data final lista temporaria of this grupo destinatario.
     *
     * @return the data final lista temporaria of this grupo destinatario
     */
    public Date getDataFinalListaTemporaria();

    /**
     * Sets the data final lista temporaria of this grupo destinatario.
     *
     * @param dataFinalListaTemporaria the data final lista temporaria of this grupo destinatario
     */
    public void setDataFinalListaTemporaria(Date dataFinalListaTemporaria);

    /**
     * Returns the envio em nome lista of this grupo destinatario.
     *
     * @return the envio em nome lista of this grupo destinatario
     */
    public boolean getEnvioEmNomeLista();

    /**
     * Returns <code>true</code> if this grupo destinatario is envio em nome lista.
     *
     * @return <code>true</code> if this grupo destinatario is envio em nome lista; <code>false</code> otherwise
     */
    public boolean isEnvioEmNomeLista();

    /**
     * Sets whether this grupo destinatario is envio em nome lista.
     *
     * @param envioEmNomeLista the envio em nome lista of this grupo destinatario
     */
    public void setEnvioEmNomeLista(boolean envioEmNomeLista);

    /**
     * Returns the user ID nomes lista of this grupo destinatario.
     *
     * @return the user ID nomes lista of this grupo destinatario
     */
    @AutoEscape
    public String getUserIdNomesLista();

    /**
     * Sets the user ID nomes lista of this grupo destinatario.
     *
     * @param userIdNomesLista the user ID nomes lista of this grupo destinatario
     */
    public void setUserIdNomesLista(String userIdNomesLista);

    /**
     * Returns the lista moderada of this grupo destinatario.
     *
     * @return the lista moderada of this grupo destinatario
     */
    public boolean getListaModerada();

    /**
     * Returns <code>true</code> if this grupo destinatario is lista moderada.
     *
     * @return <code>true</code> if this grupo destinatario is lista moderada; <code>false</code> otherwise
     */
    public boolean isListaModerada();

    /**
     * Sets whether this grupo destinatario is lista moderada.
     *
     * @param listaModerada the lista moderada of this grupo destinatario
     */
    public void setListaModerada(boolean listaModerada);

    /**
     * Returns the user ID lista moderada of this grupo destinatario.
     *
     * @return the user ID lista moderada of this grupo destinatario
     */
    @AutoEscape
    public String getUserIdListaModerada();

    /**
     * Sets the user ID lista moderada of this grupo destinatario.
     *
     * @param userIdListaModerada the user ID lista moderada of this grupo destinatario
     */
    public void setUserIdListaModerada(String userIdListaModerada);

    /**
     * Returns the ativo of this grupo destinatario.
     *
     * @return the ativo of this grupo destinatario
     */
    public boolean getAtivo();

    /**
     * Returns <code>true</code> if this grupo destinatario is ativo.
     *
     * @return <code>true</code> if this grupo destinatario is ativo; <code>false</code> otherwise
     */
    public boolean isAtivo();

    /**
     * Sets whether this grupo destinatario is ativo.
     *
     * @param ativo the ativo of this grupo destinatario
     */
    public void setAtivo(boolean ativo);

    /**
     * Returns the data criacao of this grupo destinatario.
     *
     * @return the data criacao of this grupo destinatario
     */
    public Date getDataCriacao();

    /**
     * Sets the data criacao of this grupo destinatario.
     *
     * @param dataCriacao the data criacao of this grupo destinatario
     */
    public void setDataCriacao(Date dataCriacao);

    /**
     * Returns the data atualizacao of this grupo destinatario.
     *
     * @return the data atualizacao of this grupo destinatario
     */
    public Date getDataAtualizacao();

    /**
     * Sets the data atualizacao of this grupo destinatario.
     *
     * @param dataAtualizacao the data atualizacao of this grupo destinatario
     */
    public void setDataAtualizacao(Date dataAtualizacao);

    /**
     * Returns the tipo lista of this grupo destinatario.
     *
     * @return the tipo lista of this grupo destinatario
     */
    public int getTipoLista();

    /**
     * Sets the tipo lista of this grupo destinatario.
     *
     * @param tipoLista the tipo lista of this grupo destinatario
     */
    public void setTipoLista(int tipoLista);

    @Override
    public boolean isNew();

    @Override
    public void setNew(boolean n);

    @Override
    public boolean isCachedModel();

    @Override
    public void setCachedModel(boolean cachedModel);

    @Override
    public boolean isEscapedModel();

    @Override
    public Serializable getPrimaryKeyObj();

    @Override
    public void setPrimaryKeyObj(Serializable primaryKeyObj);

    @Override
    public ExpandoBridge getExpandoBridge();

    @Override
    public void setExpandoBridgeAttributes(BaseModel<?> baseModel);

    @Override
    public void setExpandoBridgeAttributes(ExpandoBridge expandoBridge);

    @Override
    public void setExpandoBridgeAttributes(ServiceContext serviceContext);

    @Override
    public Object clone();

    @Override
    public int compareTo(
        br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario grupoDestinatario);

    @Override
    public int hashCode();

    @Override
    public CacheModel<br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario> toCacheModel();

    @Override
    public br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario toEscapedModel();

    @Override
    public br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario toUnescapedModel();

    @Override
    public String toString();

    @Override
    public String toXmlString();
}
