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

import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.model.ModelWrapper;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * <p>
 * This class is a wrapper for {@link GrupoDestinatario}.
 * </p>
 *
 * @author Henrique Simoes
 * @see GrupoDestinatario
 * @generated
 */
public class GrupoDestinatarioWrapper implements GrupoDestinatario,
    ModelWrapper<GrupoDestinatario> {
    private GrupoDestinatario _grupoDestinatario;

    public GrupoDestinatarioWrapper(GrupoDestinatario grupoDestinatario) {
        _grupoDestinatario = grupoDestinatario;
    }

    @Override
    public Class<?> getModelClass() {
        return GrupoDestinatario.class;
    }

    @Override
    public String getModelClassName() {
        return GrupoDestinatario.class.getName();
    }

    @Override
    public Map<String, Object> getModelAttributes() {
        Map<String, Object> attributes = new HashMap<String, Object>();

        attributes.put("uuid", getUuid());
        attributes.put("grupoDestinatarioId", getGrupoDestinatarioId());
        attributes.put("companyId", getCompanyId());
        attributes.put("groupId", getGroupId());
        attributes.put("userId", getUserId());
        attributes.put("nome", getNome());
        attributes.put("finalidade", getFinalidade());
        attributes.put("userIdResponsaveis", getUserIdResponsaveis());
        attributes.put("listaTemporaria", getListaTemporaria());
        attributes.put("dataFinalListaTemporaria", getDataFinalListaTemporaria());
        attributes.put("envioEmNomeLista", getEnvioEmNomeLista());
        attributes.put("userIdNomesLista", getUserIdNomesLista());
        attributes.put("listaModerada", getListaModerada());
        attributes.put("userIdListaModerada", getUserIdListaModerada());
        attributes.put("ativo", getAtivo());
        attributes.put("dataCriacao", getDataCriacao());
        attributes.put("dataAtualizacao", getDataAtualizacao());
        attributes.put("tipoLista", getTipoLista());

        return attributes;
    }

    @Override
    public void setModelAttributes(Map<String, Object> attributes) {
        String uuid = (String) attributes.get("uuid");

        if (uuid != null) {
            setUuid(uuid);
        }

        Long grupoDestinatarioId = (Long) attributes.get("grupoDestinatarioId");

        if (grupoDestinatarioId != null) {
            setGrupoDestinatarioId(grupoDestinatarioId);
        }

        Long companyId = (Long) attributes.get("companyId");

        if (companyId != null) {
            setCompanyId(companyId);
        }

        Long groupId = (Long) attributes.get("groupId");

        if (groupId != null) {
            setGroupId(groupId);
        }

        Long userId = (Long) attributes.get("userId");

        if (userId != null) {
            setUserId(userId);
        }

        String nome = (String) attributes.get("nome");

        if (nome != null) {
            setNome(nome);
        }

        String finalidade = (String) attributes.get("finalidade");

        if (finalidade != null) {
            setFinalidade(finalidade);
        }

        String userIdResponsaveis = (String) attributes.get(
                "userIdResponsaveis");

        if (userIdResponsaveis != null) {
            setUserIdResponsaveis(userIdResponsaveis);
        }

        Boolean listaTemporaria = (Boolean) attributes.get("listaTemporaria");

        if (listaTemporaria != null) {
            setListaTemporaria(listaTemporaria);
        }

        Date dataFinalListaTemporaria = (Date) attributes.get(
                "dataFinalListaTemporaria");

        if (dataFinalListaTemporaria != null) {
            setDataFinalListaTemporaria(dataFinalListaTemporaria);
        }

        Boolean envioEmNomeLista = (Boolean) attributes.get("envioEmNomeLista");

        if (envioEmNomeLista != null) {
            setEnvioEmNomeLista(envioEmNomeLista);
        }

        String userIdNomesLista = (String) attributes.get("userIdNomesLista");

        if (userIdNomesLista != null) {
            setUserIdNomesLista(userIdNomesLista);
        }

        Boolean listaModerada = (Boolean) attributes.get("listaModerada");

        if (listaModerada != null) {
            setListaModerada(listaModerada);
        }

        String userIdListaModerada = (String) attributes.get(
                "userIdListaModerada");

        if (userIdListaModerada != null) {
            setUserIdListaModerada(userIdListaModerada);
        }

        Boolean ativo = (Boolean) attributes.get("ativo");

        if (ativo != null) {
            setAtivo(ativo);
        }

        Date dataCriacao = (Date) attributes.get("dataCriacao");

        if (dataCriacao != null) {
            setDataCriacao(dataCriacao);
        }

        Date dataAtualizacao = (Date) attributes.get("dataAtualizacao");

        if (dataAtualizacao != null) {
            setDataAtualizacao(dataAtualizacao);
        }

        Integer tipoLista = (Integer) attributes.get("tipoLista");

        if (tipoLista != null) {
            setTipoLista(tipoLista);
        }
    }

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

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

    /**
    * Returns the uuid of this grupo destinatario.
    *
    * @return the uuid of this grupo destinatario
    */
    @Override
    public java.lang.String getUuid() {
        return _grupoDestinatario.getUuid();
    }

    /**
    * Sets the uuid of this grupo destinatario.
    *
    * @param uuid the uuid of this grupo destinatario
    */
    @Override
    public void setUuid(java.lang.String uuid) {
        _grupoDestinatario.setUuid(uuid);
    }

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

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

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

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

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

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

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

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

    /**
    * Returns the user uuid of this grupo destinatario.
    *
    * @return the user uuid of this grupo destinatario
    * @throws SystemException if a system exception occurred
    */
    @Override
    public java.lang.String getUserUuid()
        throws com.liferay.portal.kernel.exception.SystemException {
        return _grupoDestinatario.getUserUuid();
    }

    /**
    * Sets the user uuid of this grupo destinatario.
    *
    * @param userUuid the user uuid of this grupo destinatario
    */
    @Override
    public void setUserUuid(java.lang.String userUuid) {
        _grupoDestinatario.setUserUuid(userUuid);
    }

    /**
    * Returns the nome of this grupo destinatario.
    *
    * @return the nome of this grupo destinatario
    */
    @Override
    public java.lang.String getNome() {
        return _grupoDestinatario.getNome();
    }

    /**
    * Sets the nome of this grupo destinatario.
    *
    * @param nome the nome of this grupo destinatario
    */
    @Override
    public void setNome(java.lang.String nome) {
        _grupoDestinatario.setNome(nome);
    }

    /**
    * Returns the finalidade of this grupo destinatario.
    *
    * @return the finalidade of this grupo destinatario
    */
    @Override
    public java.lang.String getFinalidade() {
        return _grupoDestinatario.getFinalidade();
    }

    /**
    * Sets the finalidade of this grupo destinatario.
    *
    * @param finalidade the finalidade of this grupo destinatario
    */
    @Override
    public void setFinalidade(java.lang.String finalidade) {
        _grupoDestinatario.setFinalidade(finalidade);
    }

    /**
    * Returns the user ID responsaveis of this grupo destinatario.
    *
    * @return the user ID responsaveis of this grupo destinatario
    */
    @Override
    public java.lang.String getUserIdResponsaveis() {
        return _grupoDestinatario.getUserIdResponsaveis();
    }

    /**
    * Sets the user ID responsaveis of this grupo destinatario.
    *
    * @param userIdResponsaveis the user ID responsaveis of this grupo destinatario
    */
    @Override
    public void setUserIdResponsaveis(java.lang.String userIdResponsaveis) {
        _grupoDestinatario.setUserIdResponsaveis(userIdResponsaveis);
    }

    /**
    * Returns the lista temporaria of this grupo destinatario.
    *
    * @return the lista temporaria of this grupo destinatario
    */
    @Override
    public boolean getListaTemporaria() {
        return _grupoDestinatario.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
    */
    @Override
    public boolean isListaTemporaria() {
        return _grupoDestinatario.isListaTemporaria();
    }

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

    /**
    * Returns the data final lista temporaria of this grupo destinatario.
    *
    * @return the data final lista temporaria of this grupo destinatario
    */
    @Override
    public java.util.Date getDataFinalListaTemporaria() {
        return _grupoDestinatario.getDataFinalListaTemporaria();
    }

    /**
    * Sets the data final lista temporaria of this grupo destinatario.
    *
    * @param dataFinalListaTemporaria the data final lista temporaria of this grupo destinatario
    */
    @Override
    public void setDataFinalListaTemporaria(
        java.util.Date dataFinalListaTemporaria) {
        _grupoDestinatario.setDataFinalListaTemporaria(dataFinalListaTemporaria);
    }

    /**
    * Returns the envio em nome lista of this grupo destinatario.
    *
    * @return the envio em nome lista of this grupo destinatario
    */
    @Override
    public boolean getEnvioEmNomeLista() {
        return _grupoDestinatario.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
    */
    @Override
    public boolean isEnvioEmNomeLista() {
        return _grupoDestinatario.isEnvioEmNomeLista();
    }

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

    /**
    * Returns the user ID nomes lista of this grupo destinatario.
    *
    * @return the user ID nomes lista of this grupo destinatario
    */
    @Override
    public java.lang.String getUserIdNomesLista() {
        return _grupoDestinatario.getUserIdNomesLista();
    }

    /**
    * Sets the user ID nomes lista of this grupo destinatario.
    *
    * @param userIdNomesLista the user ID nomes lista of this grupo destinatario
    */
    @Override
    public void setUserIdNomesLista(java.lang.String userIdNomesLista) {
        _grupoDestinatario.setUserIdNomesLista(userIdNomesLista);
    }

    /**
    * Returns the lista moderada of this grupo destinatario.
    *
    * @return the lista moderada of this grupo destinatario
    */
    @Override
    public boolean getListaModerada() {
        return _grupoDestinatario.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
    */
    @Override
    public boolean isListaModerada() {
        return _grupoDestinatario.isListaModerada();
    }

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

    /**
    * Returns the user ID lista moderada of this grupo destinatario.
    *
    * @return the user ID lista moderada of this grupo destinatario
    */
    @Override
    public java.lang.String getUserIdListaModerada() {
        return _grupoDestinatario.getUserIdListaModerada();
    }

    /**
    * Sets the user ID lista moderada of this grupo destinatario.
    *
    * @param userIdListaModerada the user ID lista moderada of this grupo destinatario
    */
    @Override
    public void setUserIdListaModerada(java.lang.String userIdListaModerada) {
        _grupoDestinatario.setUserIdListaModerada(userIdListaModerada);
    }

    /**
    * Returns the ativo of this grupo destinatario.
    *
    * @return the ativo of this grupo destinatario
    */
    @Override
    public boolean getAtivo() {
        return _grupoDestinatario.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
    */
    @Override
    public boolean isAtivo() {
        return _grupoDestinatario.isAtivo();
    }

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

    /**
    * Returns the data criacao of this grupo destinatario.
    *
    * @return the data criacao of this grupo destinatario
    */
    @Override
    public java.util.Date getDataCriacao() {
        return _grupoDestinatario.getDataCriacao();
    }

    /**
    * Sets the data criacao of this grupo destinatario.
    *
    * @param dataCriacao the data criacao of this grupo destinatario
    */
    @Override
    public void setDataCriacao(java.util.Date dataCriacao) {
        _grupoDestinatario.setDataCriacao(dataCriacao);
    }

    /**
    * Returns the data atualizacao of this grupo destinatario.
    *
    * @return the data atualizacao of this grupo destinatario
    */
    @Override
    public java.util.Date getDataAtualizacao() {
        return _grupoDestinatario.getDataAtualizacao();
    }

    /**
    * Sets the data atualizacao of this grupo destinatario.
    *
    * @param dataAtualizacao the data atualizacao of this grupo destinatario
    */
    @Override
    public void setDataAtualizacao(java.util.Date dataAtualizacao) {
        _grupoDestinatario.setDataAtualizacao(dataAtualizacao);
    }

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

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

    @Override
    public boolean isNew() {
        return _grupoDestinatario.isNew();
    }

    @Override
    public void setNew(boolean n) {
        _grupoDestinatario.setNew(n);
    }

    @Override
    public boolean isCachedModel() {
        return _grupoDestinatario.isCachedModel();
    }

    @Override
    public void setCachedModel(boolean cachedModel) {
        _grupoDestinatario.setCachedModel(cachedModel);
    }

    @Override
    public boolean isEscapedModel() {
        return _grupoDestinatario.isEscapedModel();
    }

    @Override
    public java.io.Serializable getPrimaryKeyObj() {
        return _grupoDestinatario.getPrimaryKeyObj();
    }

    @Override
    public void setPrimaryKeyObj(java.io.Serializable primaryKeyObj) {
        _grupoDestinatario.setPrimaryKeyObj(primaryKeyObj);
    }

    @Override
    public com.liferay.portlet.expando.model.ExpandoBridge getExpandoBridge() {
        return _grupoDestinatario.getExpandoBridge();
    }

    @Override
    public void setExpandoBridgeAttributes(
        com.liferay.portal.model.BaseModel<?> baseModel) {
        _grupoDestinatario.setExpandoBridgeAttributes(baseModel);
    }

    @Override
    public void setExpandoBridgeAttributes(
        com.liferay.portlet.expando.model.ExpandoBridge expandoBridge) {
        _grupoDestinatario.setExpandoBridgeAttributes(expandoBridge);
    }

    @Override
    public void setExpandoBridgeAttributes(
        com.liferay.portal.service.ServiceContext serviceContext) {
        _grupoDestinatario.setExpandoBridgeAttributes(serviceContext);
    }

    @Override
    public java.lang.Object clone() {
        return new GrupoDestinatarioWrapper((GrupoDestinatario) _grupoDestinatario.clone());
    }

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

    @Override
    public int hashCode() {
        return _grupoDestinatario.hashCode();
    }

    @Override
    public com.liferay.portal.model.CacheModel<br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario> toCacheModel() {
        return _grupoDestinatario.toCacheModel();
    }

    @Override
    public br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario toEscapedModel() {
        return new GrupoDestinatarioWrapper(_grupoDestinatario.toEscapedModel());
    }

    @Override
    public br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario toUnescapedModel() {
        return new GrupoDestinatarioWrapper(_grupoDestinatario.toUnescapedModel());
    }

    @Override
    public java.lang.String toString() {
        return _grupoDestinatario.toString();
    }

    @Override
    public java.lang.String toXmlString() {
        return _grupoDestinatario.toXmlString();
    }

    @Override
    public void persist()
        throws com.liferay.portal.kernel.exception.SystemException {
        _grupoDestinatario.persist();
    }

    @Override
    public java.lang.String getDescricaoTipoLista() {
        return _grupoDestinatario.getDescricaoTipoLista();
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }

        if (!(obj instanceof GrupoDestinatarioWrapper)) {
            return false;
        }

        GrupoDestinatarioWrapper grupoDestinatarioWrapper = (GrupoDestinatarioWrapper) obj;

        if (Validator.equals(_grupoDestinatario,
                    grupoDestinatarioWrapper._grupoDestinatario)) {
            return true;
        }

        return false;
    }

    /**
     * @deprecated As of 6.1.0, replaced by {@link #getWrappedModel}
     */
    public GrupoDestinatario getWrappedGrupoDestinatario() {
        return _grupoDestinatario;
    }

    @Override
    public GrupoDestinatario getWrappedModel() {
        return _grupoDestinatario;
    }

    @Override
    public void resetOriginalValues() {
        _grupoDestinatario.resetOriginalValues();
    }
}
