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 Agendamento}.
 * </p>
 *
 * @author Henrique Simoes
 * @see Agendamento
 * @generated
 */
public class AgendamentoWrapper implements Agendamento,
    ModelWrapper<Agendamento> {
    private Agendamento _agendamento;

    public AgendamentoWrapper(Agendamento agendamento) {
        _agendamento = agendamento;
    }

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

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

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

        attributes.put("uuid", getUuid());
        attributes.put("agendamentoId", getAgendamentoId());
        attributes.put("mensagemId", getMensagemId());
        attributes.put("companyId", getCompanyId());
        attributes.put("groupId", getGroupId());
        attributes.put("tipoAgendamento", getTipoAgendamento());
        attributes.put("dataCalendario", getDataCalendario());
        attributes.put("dataInicio", getDataInicio());
        attributes.put("dataFim", getDataFim());
        attributes.put("padraoRecorrencia", getPadraoRecorrencia());
        attributes.put("frequencia", getFrequencia());
        attributes.put("diarioTodos", getDiarioTodos());
        attributes.put("semanalDias", getSemanalDias());
        attributes.put("mensalDiaFrequencia", getMensalDiaFrequencia());
        attributes.put("dataAtualizacao", getDataAtualizacao());
        attributes.put("dataEnvio", getDataEnvio());
        attributes.put("situacaoEnvio", getSituacaoEnvio());
        attributes.put("erroEnvio", getErroEnvio());
        attributes.put("mensagemErro", getMensagemErro());

        return attributes;
    }

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

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

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

        if (agendamentoId != null) {
            setAgendamentoId(agendamentoId);
        }

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

        if (mensagemId != null) {
            setMensagemId(mensagemId);
        }

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

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

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

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

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

        if (tipoAgendamento != null) {
            setTipoAgendamento(tipoAgendamento);
        }

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

        if (dataCalendario != null) {
            setDataCalendario(dataCalendario);
        }

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

        if (dataInicio != null) {
            setDataInicio(dataInicio);
        }

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

        if (dataFim != null) {
            setDataFim(dataFim);
        }

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

        if (padraoRecorrencia != null) {
            setPadraoRecorrencia(padraoRecorrencia);
        }

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

        if (frequencia != null) {
            setFrequencia(frequencia);
        }

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

        if (diarioTodos != null) {
            setDiarioTodos(diarioTodos);
        }

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

        if (semanalDias != null) {
            setSemanalDias(semanalDias);
        }

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

        if (mensalDiaFrequencia != null) {
            setMensalDiaFrequencia(mensalDiaFrequencia);
        }

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

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

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

        if (dataEnvio != null) {
            setDataEnvio(dataEnvio);
        }

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

        if (situacaoEnvio != null) {
            setSituacaoEnvio(situacaoEnvio);
        }

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

        if (erroEnvio != null) {
            setErroEnvio(erroEnvio);
        }

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

        if (mensagemErro != null) {
            setMensagemErro(mensagemErro);
        }
    }

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

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

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

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

    /**
    * Returns the agendamento ID of this agendamento.
    *
    * @return the agendamento ID of this agendamento
    */
    @Override
    public long getAgendamentoId() {
        return _agendamento.getAgendamentoId();
    }

    /**
    * Sets the agendamento ID of this agendamento.
    *
    * @param agendamentoId the agendamento ID of this agendamento
    */
    @Override
    public void setAgendamentoId(long agendamentoId) {
        _agendamento.setAgendamentoId(agendamentoId);
    }

    /**
    * Returns the mensagem ID of this agendamento.
    *
    * @return the mensagem ID of this agendamento
    */
    @Override
    public long getMensagemId() {
        return _agendamento.getMensagemId();
    }

    /**
    * Sets the mensagem ID of this agendamento.
    *
    * @param mensagemId the mensagem ID of this agendamento
    */
    @Override
    public void setMensagemId(long mensagemId) {
        _agendamento.setMensagemId(mensagemId);
    }

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

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

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

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

    /**
    * Returns the tipo agendamento of this agendamento.
    *
    * @return the tipo agendamento of this agendamento
    */
    @Override
    public int getTipoAgendamento() {
        return _agendamento.getTipoAgendamento();
    }

    /**
    * Sets the tipo agendamento of this agendamento.
    *
    * @param tipoAgendamento the tipo agendamento of this agendamento
    */
    @Override
    public void setTipoAgendamento(int tipoAgendamento) {
        _agendamento.setTipoAgendamento(tipoAgendamento);
    }

    /**
    * Returns the data calendario of this agendamento.
    *
    * @return the data calendario of this agendamento
    */
    @Override
    public java.util.Date getDataCalendario() {
        return _agendamento.getDataCalendario();
    }

    /**
    * Sets the data calendario of this agendamento.
    *
    * @param dataCalendario the data calendario of this agendamento
    */
    @Override
    public void setDataCalendario(java.util.Date dataCalendario) {
        _agendamento.setDataCalendario(dataCalendario);
    }

    /**
    * Returns the data inicio of this agendamento.
    *
    * @return the data inicio of this agendamento
    */
    @Override
    public java.util.Date getDataInicio() {
        return _agendamento.getDataInicio();
    }

    /**
    * Sets the data inicio of this agendamento.
    *
    * @param dataInicio the data inicio of this agendamento
    */
    @Override
    public void setDataInicio(java.util.Date dataInicio) {
        _agendamento.setDataInicio(dataInicio);
    }

    /**
    * Returns the data fim of this agendamento.
    *
    * @return the data fim of this agendamento
    */
    @Override
    public java.util.Date getDataFim() {
        return _agendamento.getDataFim();
    }

    /**
    * Sets the data fim of this agendamento.
    *
    * @param dataFim the data fim of this agendamento
    */
    @Override
    public void setDataFim(java.util.Date dataFim) {
        _agendamento.setDataFim(dataFim);
    }

    /**
    * Returns the padrao recorrencia of this agendamento.
    *
    * @return the padrao recorrencia of this agendamento
    */
    @Override
    public int getPadraoRecorrencia() {
        return _agendamento.getPadraoRecorrencia();
    }

    /**
    * Sets the padrao recorrencia of this agendamento.
    *
    * @param padraoRecorrencia the padrao recorrencia of this agendamento
    */
    @Override
    public void setPadraoRecorrencia(int padraoRecorrencia) {
        _agendamento.setPadraoRecorrencia(padraoRecorrencia);
    }

    /**
    * Returns the frequencia of this agendamento.
    *
    * @return the frequencia of this agendamento
    */
    @Override
    public int getFrequencia() {
        return _agendamento.getFrequencia();
    }

    /**
    * Sets the frequencia of this agendamento.
    *
    * @param frequencia the frequencia of this agendamento
    */
    @Override
    public void setFrequencia(int frequencia) {
        _agendamento.setFrequencia(frequencia);
    }

    /**
    * Returns the diario todos of this agendamento.
    *
    * @return the diario todos of this agendamento
    */
    @Override
    public boolean getDiarioTodos() {
        return _agendamento.getDiarioTodos();
    }

    /**
    * Returns <code>true</code> if this agendamento is diario todos.
    *
    * @return <code>true</code> if this agendamento is diario todos; <code>false</code> otherwise
    */
    @Override
    public boolean isDiarioTodos() {
        return _agendamento.isDiarioTodos();
    }

    /**
    * Sets whether this agendamento is diario todos.
    *
    * @param diarioTodos the diario todos of this agendamento
    */
    @Override
    public void setDiarioTodos(boolean diarioTodos) {
        _agendamento.setDiarioTodos(diarioTodos);
    }

    /**
    * Returns the semanal dias of this agendamento.
    *
    * @return the semanal dias of this agendamento
    */
    @Override
    public java.lang.String getSemanalDias() {
        return _agendamento.getSemanalDias();
    }

    /**
    * Sets the semanal dias of this agendamento.
    *
    * @param semanalDias the semanal dias of this agendamento
    */
    @Override
    public void setSemanalDias(java.lang.String semanalDias) {
        _agendamento.setSemanalDias(semanalDias);
    }

    /**
    * Returns the mensal dia frequencia of this agendamento.
    *
    * @return the mensal dia frequencia of this agendamento
    */
    @Override
    public int getMensalDiaFrequencia() {
        return _agendamento.getMensalDiaFrequencia();
    }

    /**
    * Sets the mensal dia frequencia of this agendamento.
    *
    * @param mensalDiaFrequencia the mensal dia frequencia of this agendamento
    */
    @Override
    public void setMensalDiaFrequencia(int mensalDiaFrequencia) {
        _agendamento.setMensalDiaFrequencia(mensalDiaFrequencia);
    }

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

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

    /**
    * Returns the data envio of this agendamento.
    *
    * @return the data envio of this agendamento
    */
    @Override
    public java.util.Date getDataEnvio() {
        return _agendamento.getDataEnvio();
    }

    /**
    * Sets the data envio of this agendamento.
    *
    * @param dataEnvio the data envio of this agendamento
    */
    @Override
    public void setDataEnvio(java.util.Date dataEnvio) {
        _agendamento.setDataEnvio(dataEnvio);
    }

    /**
    * Returns the situacao envio of this agendamento.
    *
    * @return the situacao envio of this agendamento
    */
    @Override
    public int getSituacaoEnvio() {
        return _agendamento.getSituacaoEnvio();
    }

    /**
    * Sets the situacao envio of this agendamento.
    *
    * @param situacaoEnvio the situacao envio of this agendamento
    */
    @Override
    public void setSituacaoEnvio(int situacaoEnvio) {
        _agendamento.setSituacaoEnvio(situacaoEnvio);
    }

    /**
    * Returns the erro envio of this agendamento.
    *
    * @return the erro envio of this agendamento
    */
    @Override
    public boolean getErroEnvio() {
        return _agendamento.getErroEnvio();
    }

    /**
    * Returns <code>true</code> if this agendamento is erro envio.
    *
    * @return <code>true</code> if this agendamento is erro envio; <code>false</code> otherwise
    */
    @Override
    public boolean isErroEnvio() {
        return _agendamento.isErroEnvio();
    }

    /**
    * Sets whether this agendamento is erro envio.
    *
    * @param erroEnvio the erro envio of this agendamento
    */
    @Override
    public void setErroEnvio(boolean erroEnvio) {
        _agendamento.setErroEnvio(erroEnvio);
    }

    /**
    * Returns the mensagem erro of this agendamento.
    *
    * @return the mensagem erro of this agendamento
    */
    @Override
    public java.lang.String getMensagemErro() {
        return _agendamento.getMensagemErro();
    }

    /**
    * Sets the mensagem erro of this agendamento.
    *
    * @param mensagemErro the mensagem erro of this agendamento
    */
    @Override
    public void setMensagemErro(java.lang.String mensagemErro) {
        _agendamento.setMensagemErro(mensagemErro);
    }

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

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

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

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

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

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

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

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

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

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

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

    @Override
    public java.lang.Object clone() {
        return new AgendamentoWrapper((Agendamento) _agendamento.clone());
    }

    @Override
    public int compareTo(
        br.mp.mprj.portal.portlet.gestaomensagens.service.model.Agendamento agendamento) {
        return _agendamento.compareTo(agendamento);
    }

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

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

    @Override
    public br.mp.mprj.portal.portlet.gestaomensagens.service.model.Agendamento toEscapedModel() {
        return new AgendamentoWrapper(_agendamento.toEscapedModel());
    }

    @Override
    public br.mp.mprj.portal.portlet.gestaomensagens.service.model.Agendamento toUnescapedModel() {
        return new AgendamentoWrapper(_agendamento.toUnescapedModel());
    }

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

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

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

    @Override
    public boolean isNaoExcluir() {
        return _agendamento.isNaoExcluir();
    }

    @Override
    public void setNaoExcluir(boolean naoExcluir) {
        _agendamento.setNaoExcluir(naoExcluir);
    }

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

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

        AgendamentoWrapper agendamentoWrapper = (AgendamentoWrapper) obj;

        if (Validator.equals(_agendamento, agendamentoWrapper._agendamento)) {
            return true;
        }

        return false;
    }

    /**
     * @deprecated As of 6.1.0, replaced by {@link #getWrappedModel}
     */
    public Agendamento getWrappedAgendamento() {
        return _agendamento;
    }

    @Override
    public Agendamento getWrappedModel() {
        return _agendamento;
    }

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