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

import br.mp.mprj.portal.portlet.gestaomensagens.service.service.AgendamentoLocalServiceUtil;
import br.mp.mprj.portal.portlet.gestaomensagens.service.service.ClpSerializer;

import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.DateUtil;
import com.liferay.portal.kernel.util.ProxyUtil;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.impl.BaseModelImpl;

import java.io.Serializable;

import java.lang.reflect.Method;

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


public class AgendamentoClp extends BaseModelImpl<Agendamento>
    implements Agendamento {
    private String _uuid;
    private long _agendamentoId;
    private long _mensagemId;
    private long _companyId;
    private long _groupId;
    private int _tipoAgendamento;
    private Date _dataCalendario;
    private Date _dataInicio;
    private Date _dataFim;
    private int _padraoRecorrencia;
    private int _frequencia;
    private boolean _diarioTodos;
    private String _semanalDias;
    private int _mensalDiaFrequencia;
    private Date _dataAtualizacao;
    private Date _dataEnvio;
    private int _situacaoEnvio;
    private boolean _erroEnvio;
    private String _mensagemErro;
    private BaseModel<?> _agendamentoRemoteModel;
    private Class<?> _clpSerializerClass = br.mp.mprj.portal.portlet.gestaomensagens.service.service.ClpSerializer.class;

    public AgendamentoClp() {
    }

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

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

    @Override
    public long getPrimaryKey() {
        return _agendamentoId;
    }

    @Override
    public void setPrimaryKey(long primaryKey) {
        setAgendamentoId(primaryKey);
    }

    @Override
    public Serializable getPrimaryKeyObj() {
        return _agendamentoId;
    }

    @Override
    public void setPrimaryKeyObj(Serializable primaryKeyObj) {
        setPrimaryKey(((Long) primaryKeyObj).longValue());
    }

    @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);
        }
    }

    @Override
    public String getUuid() {
        return _uuid;
    }

    @Override
    public void setUuid(String uuid) {
        _uuid = uuid;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setUuid", String.class);

                method.invoke(_agendamentoRemoteModel, uuid);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public long getAgendamentoId() {
        return _agendamentoId;
    }

    @Override
    public void setAgendamentoId(long agendamentoId) {
        _agendamentoId = agendamentoId;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setAgendamentoId", long.class);

                method.invoke(_agendamentoRemoteModel, agendamentoId);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public long getMensagemId() {
        return _mensagemId;
    }

    @Override
    public void setMensagemId(long mensagemId) {
        _mensagemId = mensagemId;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setMensagemId", long.class);

                method.invoke(_agendamentoRemoteModel, mensagemId);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public long getCompanyId() {
        return _companyId;
    }

    @Override
    public void setCompanyId(long companyId) {
        _companyId = companyId;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setCompanyId", long.class);

                method.invoke(_agendamentoRemoteModel, companyId);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public long getGroupId() {
        return _groupId;
    }

    @Override
    public void setGroupId(long groupId) {
        _groupId = groupId;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setGroupId", long.class);

                method.invoke(_agendamentoRemoteModel, groupId);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public int getTipoAgendamento() {
        return _tipoAgendamento;
    }

    @Override
    public void setTipoAgendamento(int tipoAgendamento) {
        _tipoAgendamento = tipoAgendamento;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setTipoAgendamento", int.class);

                method.invoke(_agendamentoRemoteModel, tipoAgendamento);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public Date getDataCalendario() {
        return _dataCalendario;
    }

    @Override
    public void setDataCalendario(Date dataCalendario) {
        _dataCalendario = dataCalendario;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setDataCalendario", Date.class);

                method.invoke(_agendamentoRemoteModel, dataCalendario);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public Date getDataInicio() {
        return _dataInicio;
    }

    @Override
    public void setDataInicio(Date dataInicio) {
        _dataInicio = dataInicio;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setDataInicio", Date.class);

                method.invoke(_agendamentoRemoteModel, dataInicio);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public Date getDataFim() {
        return _dataFim;
    }

    @Override
    public void setDataFim(Date dataFim) {
        _dataFim = dataFim;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setDataFim", Date.class);

                method.invoke(_agendamentoRemoteModel, dataFim);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public int getPadraoRecorrencia() {
        return _padraoRecorrencia;
    }

    @Override
    public void setPadraoRecorrencia(int padraoRecorrencia) {
        _padraoRecorrencia = padraoRecorrencia;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setPadraoRecorrencia",
                        int.class);

                method.invoke(_agendamentoRemoteModel, padraoRecorrencia);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public int getFrequencia() {
        return _frequencia;
    }

    @Override
    public void setFrequencia(int frequencia) {
        _frequencia = frequencia;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setFrequencia", int.class);

                method.invoke(_agendamentoRemoteModel, frequencia);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public boolean getDiarioTodos() {
        return _diarioTodos;
    }

    @Override
    public boolean isDiarioTodos() {
        return _diarioTodos;
    }

    @Override
    public void setDiarioTodos(boolean diarioTodos) {
        _diarioTodos = diarioTodos;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setDiarioTodos", boolean.class);

                method.invoke(_agendamentoRemoteModel, diarioTodos);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public String getSemanalDias() {
        return _semanalDias;
    }

    @Override
    public void setSemanalDias(String semanalDias) {
        _semanalDias = semanalDias;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setSemanalDias", String.class);

                method.invoke(_agendamentoRemoteModel, semanalDias);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public int getMensalDiaFrequencia() {
        return _mensalDiaFrequencia;
    }

    @Override
    public void setMensalDiaFrequencia(int mensalDiaFrequencia) {
        _mensalDiaFrequencia = mensalDiaFrequencia;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setMensalDiaFrequencia",
                        int.class);

                method.invoke(_agendamentoRemoteModel, mensalDiaFrequencia);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public Date getDataAtualizacao() {
        return _dataAtualizacao;
    }

    @Override
    public void setDataAtualizacao(Date dataAtualizacao) {
        _dataAtualizacao = dataAtualizacao;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setDataAtualizacao", Date.class);

                method.invoke(_agendamentoRemoteModel, dataAtualizacao);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public Date getDataEnvio() {
        return _dataEnvio;
    }

    @Override
    public void setDataEnvio(Date dataEnvio) {
        _dataEnvio = dataEnvio;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setDataEnvio", Date.class);

                method.invoke(_agendamentoRemoteModel, dataEnvio);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public int getSituacaoEnvio() {
        return _situacaoEnvio;
    }

    @Override
    public void setSituacaoEnvio(int situacaoEnvio) {
        _situacaoEnvio = situacaoEnvio;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setSituacaoEnvio", int.class);

                method.invoke(_agendamentoRemoteModel, situacaoEnvio);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public boolean getErroEnvio() {
        return _erroEnvio;
    }

    @Override
    public boolean isErroEnvio() {
        return _erroEnvio;
    }

    @Override
    public void setErroEnvio(boolean erroEnvio) {
        _erroEnvio = erroEnvio;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setErroEnvio", boolean.class);

                method.invoke(_agendamentoRemoteModel, erroEnvio);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public String getMensagemErro() {
        return _mensagemErro;
    }

    @Override
    public void setMensagemErro(String mensagemErro) {
        _mensagemErro = mensagemErro;

        if (_agendamentoRemoteModel != null) {
            try {
                Class<?> clazz = _agendamentoRemoteModel.getClass();

                Method method = clazz.getMethod("setMensagemErro", String.class);

                method.invoke(_agendamentoRemoteModel, mensagemErro);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public void setNaoExcluir(boolean naoExcluir) {
        try {
            String methodName = "setNaoExcluir";

            Class<?>[] parameterTypes = new Class<?>[] { boolean.class };

            Object[] parameterValues = new Object[] { naoExcluir };

            invokeOnRemoteModel(methodName, parameterTypes, parameterValues);
        } catch (Exception e) {
            throw new UnsupportedOperationException(e);
        }
    }

    @Override
    public boolean isNaoExcluir() {
        try {
            String methodName = "isNaoExcluir";

            Class<?>[] parameterTypes = new Class<?>[] {  };

            Object[] parameterValues = new Object[] {  };

            Boolean returnObj = (Boolean) invokeOnRemoteModel(methodName,
                    parameterTypes, parameterValues);

            return returnObj;
        } catch (Exception e) {
            throw new UnsupportedOperationException(e);
        }
    }

    public BaseModel<?> getAgendamentoRemoteModel() {
        return _agendamentoRemoteModel;
    }

    public void setAgendamentoRemoteModel(BaseModel<?> agendamentoRemoteModel) {
        _agendamentoRemoteModel = agendamentoRemoteModel;
    }

    public Object invokeOnRemoteModel(String methodName,
        Class<?>[] parameterTypes, Object[] parameterValues)
        throws Exception {
        Object[] remoteParameterValues = new Object[parameterValues.length];

        for (int i = 0; i < parameterValues.length; i++) {
            if (parameterValues[i] != null) {
                remoteParameterValues[i] = ClpSerializer.translateInput(parameterValues[i]);
            }
        }

        Class<?> remoteModelClass = _agendamentoRemoteModel.getClass();

        ClassLoader remoteModelClassLoader = remoteModelClass.getClassLoader();

        Class<?>[] remoteParameterTypes = new Class[parameterTypes.length];

        for (int i = 0; i < parameterTypes.length; i++) {
            if (parameterTypes[i].isPrimitive()) {
                remoteParameterTypes[i] = parameterTypes[i];
            } else {
                String parameterTypeName = parameterTypes[i].getName();

                remoteParameterTypes[i] = remoteModelClassLoader.loadClass(parameterTypeName);
            }
        }

        Method method = remoteModelClass.getMethod(methodName,
                remoteParameterTypes);

        Object returnValue = method.invoke(_agendamentoRemoteModel,
                remoteParameterValues);

        if (returnValue != null) {
            returnValue = ClpSerializer.translateOutput(returnValue);
        }

        return returnValue;
    }

    @Override
    public void persist() throws SystemException {
        if (this.isNew()) {
            AgendamentoLocalServiceUtil.addAgendamento(this);
        } else {
            AgendamentoLocalServiceUtil.updateAgendamento(this);
        }
    }

    @Override
    public Agendamento toEscapedModel() {
        return (Agendamento) ProxyUtil.newProxyInstance(Agendamento.class.getClassLoader(),
            new Class[] { Agendamento.class }, new AutoEscapeBeanHandler(this));
    }

    @Override
    public Object clone() {
        AgendamentoClp clone = new AgendamentoClp();

        clone.setUuid(getUuid());
        clone.setAgendamentoId(getAgendamentoId());
        clone.setMensagemId(getMensagemId());
        clone.setCompanyId(getCompanyId());
        clone.setGroupId(getGroupId());
        clone.setTipoAgendamento(getTipoAgendamento());
        clone.setDataCalendario(getDataCalendario());
        clone.setDataInicio(getDataInicio());
        clone.setDataFim(getDataFim());
        clone.setPadraoRecorrencia(getPadraoRecorrencia());
        clone.setFrequencia(getFrequencia());
        clone.setDiarioTodos(getDiarioTodos());
        clone.setSemanalDias(getSemanalDias());
        clone.setMensalDiaFrequencia(getMensalDiaFrequencia());
        clone.setDataAtualizacao(getDataAtualizacao());
        clone.setDataEnvio(getDataEnvio());
        clone.setSituacaoEnvio(getSituacaoEnvio());
        clone.setErroEnvio(getErroEnvio());
        clone.setMensagemErro(getMensagemErro());

        return clone;
    }

    @Override
    public int compareTo(Agendamento agendamento) {
        int value = 0;

        value = DateUtil.compareTo(getDataInicio(), agendamento.getDataInicio());

        if (value != 0) {
            return value;
        }

        return 0;
    }

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

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

        AgendamentoClp agendamento = (AgendamentoClp) obj;

        long primaryKey = agendamento.getPrimaryKey();

        if (getPrimaryKey() == primaryKey) {
            return true;
        } else {
            return false;
        }
    }

    public Class<?> getClpSerializerClass() {
        return _clpSerializerClass;
    }

    @Override
    public int hashCode() {
        return (int) getPrimaryKey();
    }

    @Override
    public String toString() {
        StringBundler sb = new StringBundler(39);

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

        return sb.toString();
    }

    @Override
    public String toXmlString() {
        StringBundler sb = new StringBundler(61);

        sb.append("<model><model-name>");
        sb.append(
            "br.mp.mprj.portal.portlet.gestaomensagens.service.model.Agendamento");
        sb.append("</model-name>");

        sb.append(
            "<column><column-name>uuid</column-name><column-value><![CDATA[");
        sb.append(getUuid());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>agendamentoId</column-name><column-value><![CDATA[");
        sb.append(getAgendamentoId());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>mensagemId</column-name><column-value><![CDATA[");
        sb.append(getMensagemId());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>companyId</column-name><column-value><![CDATA[");
        sb.append(getCompanyId());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>groupId</column-name><column-value><![CDATA[");
        sb.append(getGroupId());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>tipoAgendamento</column-name><column-value><![CDATA[");
        sb.append(getTipoAgendamento());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>dataCalendario</column-name><column-value><![CDATA[");
        sb.append(getDataCalendario());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>dataInicio</column-name><column-value><![CDATA[");
        sb.append(getDataInicio());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>dataFim</column-name><column-value><![CDATA[");
        sb.append(getDataFim());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>padraoRecorrencia</column-name><column-value><![CDATA[");
        sb.append(getPadraoRecorrencia());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>frequencia</column-name><column-value><![CDATA[");
        sb.append(getFrequencia());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>diarioTodos</column-name><column-value><![CDATA[");
        sb.append(getDiarioTodos());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>semanalDias</column-name><column-value><![CDATA[");
        sb.append(getSemanalDias());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>mensalDiaFrequencia</column-name><column-value><![CDATA[");
        sb.append(getMensalDiaFrequencia());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>dataAtualizacao</column-name><column-value><![CDATA[");
        sb.append(getDataAtualizacao());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>dataEnvio</column-name><column-value><![CDATA[");
        sb.append(getDataEnvio());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>situacaoEnvio</column-name><column-value><![CDATA[");
        sb.append(getSituacaoEnvio());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>erroEnvio</column-name><column-value><![CDATA[");
        sb.append(getErroEnvio());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>mensagemErro</column-name><column-value><![CDATA[");
        sb.append(getMensagemErro());
        sb.append("]]></column-value></column>");

        sb.append("</model>");

        return sb.toString();
    }
}
