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

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

import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.exception.SystemException;
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 com.liferay.portal.util.PortalUtil;

import java.io.Serializable;

import java.lang.reflect.Method;

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


public class GrupoDestinatarioClp extends BaseModelImpl<GrupoDestinatario>
    implements GrupoDestinatario {
    private String _uuid;
    private long _grupoDestinatarioId;
    private long _companyId;
    private long _groupId;
    private long _userId;
    private String _userUuid;
    private String _nome;
    private String _finalidade;
    private String _userIdResponsaveis;
    private boolean _listaTemporaria;
    private Date _dataFinalListaTemporaria;
    private boolean _envioEmNomeLista;
    private String _userIdNomesLista;
    private boolean _listaModerada;
    private String _userIdListaModerada;
    private boolean _ativo;
    private Date _dataCriacao;
    private Date _dataAtualizacao;
    private int _tipoLista;
    private BaseModel<?> _grupoDestinatarioRemoteModel;
    private Class<?> _clpSerializerClass = br.mp.mprj.portal.portlet.gestaomensagens.service.service.ClpSerializer.class;

    public GrupoDestinatarioClp() {
    }

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

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

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

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

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

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

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

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

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

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

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

    @Override
    public long getGrupoDestinatarioId() {
        return _grupoDestinatarioId;
    }

    @Override
    public void setGrupoDestinatarioId(long grupoDestinatarioId) {
        _grupoDestinatarioId = grupoDestinatarioId;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, grupoDestinatarioId);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

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

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

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

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

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

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

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

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

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

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

    @Override
    public long getUserId() {
        return _userId;
    }

    @Override
    public void setUserId(long userId) {
        _userId = userId;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, userId);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public String getUserUuid() throws SystemException {
        return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
    }

    @Override
    public void setUserUuid(String userUuid) {
        _userUuid = userUuid;
    }

    @Override
    public String getNome() {
        return _nome;
    }

    @Override
    public void setNome(String nome) {
        _nome = nome;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, nome);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public String getFinalidade() {
        return _finalidade;
    }

    @Override
    public void setFinalidade(String finalidade) {
        _finalidade = finalidade;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, finalidade);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public String getUserIdResponsaveis() {
        return _userIdResponsaveis;
    }

    @Override
    public void setUserIdResponsaveis(String userIdResponsaveis) {
        _userIdResponsaveis = userIdResponsaveis;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, userIdResponsaveis);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public boolean getListaTemporaria() {
        return _listaTemporaria;
    }

    @Override
    public boolean isListaTemporaria() {
        return _listaTemporaria;
    }

    @Override
    public void setListaTemporaria(boolean listaTemporaria) {
        _listaTemporaria = listaTemporaria;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, listaTemporaria);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public Date getDataFinalListaTemporaria() {
        return _dataFinalListaTemporaria;
    }

    @Override
    public void setDataFinalListaTemporaria(Date dataFinalListaTemporaria) {
        _dataFinalListaTemporaria = dataFinalListaTemporaria;

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

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

                method.invoke(_grupoDestinatarioRemoteModel,
                    dataFinalListaTemporaria);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public boolean getEnvioEmNomeLista() {
        return _envioEmNomeLista;
    }

    @Override
    public boolean isEnvioEmNomeLista() {
        return _envioEmNomeLista;
    }

    @Override
    public void setEnvioEmNomeLista(boolean envioEmNomeLista) {
        _envioEmNomeLista = envioEmNomeLista;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, envioEmNomeLista);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public String getUserIdNomesLista() {
        return _userIdNomesLista;
    }

    @Override
    public void setUserIdNomesLista(String userIdNomesLista) {
        _userIdNomesLista = userIdNomesLista;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, userIdNomesLista);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public boolean getListaModerada() {
        return _listaModerada;
    }

    @Override
    public boolean isListaModerada() {
        return _listaModerada;
    }

    @Override
    public void setListaModerada(boolean listaModerada) {
        _listaModerada = listaModerada;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, listaModerada);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public String getUserIdListaModerada() {
        return _userIdListaModerada;
    }

    @Override
    public void setUserIdListaModerada(String userIdListaModerada) {
        _userIdListaModerada = userIdListaModerada;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, userIdListaModerada);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public boolean getAtivo() {
        return _ativo;
    }

    @Override
    public boolean isAtivo() {
        return _ativo;
    }

    @Override
    public void setAtivo(boolean ativo) {
        _ativo = ativo;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, ativo);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public Date getDataCriacao() {
        return _dataCriacao;
    }

    @Override
    public void setDataCriacao(Date dataCriacao) {
        _dataCriacao = dataCriacao;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, dataCriacao);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

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

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

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

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

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

    @Override
    public int getTipoLista() {
        return _tipoLista;
    }

    @Override
    public void setTipoLista(int tipoLista) {
        _tipoLista = tipoLista;

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

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

                method.invoke(_grupoDestinatarioRemoteModel, tipoLista);
            } catch (Exception e) {
                throw new UnsupportedOperationException(e);
            }
        }
    }

    @Override
    public java.lang.String getDescricaoTipoLista() {
        try {
            String methodName = "getDescricaoTipoLista";

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

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

            java.lang.String returnObj = (java.lang.String) invokeOnRemoteModel(methodName,
                    parameterTypes, parameterValues);

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

    public BaseModel<?> getGrupoDestinatarioRemoteModel() {
        return _grupoDestinatarioRemoteModel;
    }

    public void setGrupoDestinatarioRemoteModel(
        BaseModel<?> grupoDestinatarioRemoteModel) {
        _grupoDestinatarioRemoteModel = grupoDestinatarioRemoteModel;
    }

    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 = _grupoDestinatarioRemoteModel.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(_grupoDestinatarioRemoteModel,
                remoteParameterValues);

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

        return returnValue;
    }

    @Override
    public void persist() throws SystemException {
        if (this.isNew()) {
            GrupoDestinatarioLocalServiceUtil.addGrupoDestinatario(this);
        } else {
            GrupoDestinatarioLocalServiceUtil.updateGrupoDestinatario(this);
        }
    }

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

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

        clone.setUuid(getUuid());
        clone.setGrupoDestinatarioId(getGrupoDestinatarioId());
        clone.setCompanyId(getCompanyId());
        clone.setGroupId(getGroupId());
        clone.setUserId(getUserId());
        clone.setNome(getNome());
        clone.setFinalidade(getFinalidade());
        clone.setUserIdResponsaveis(getUserIdResponsaveis());
        clone.setListaTemporaria(getListaTemporaria());
        clone.setDataFinalListaTemporaria(getDataFinalListaTemporaria());
        clone.setEnvioEmNomeLista(getEnvioEmNomeLista());
        clone.setUserIdNomesLista(getUserIdNomesLista());
        clone.setListaModerada(getListaModerada());
        clone.setUserIdListaModerada(getUserIdListaModerada());
        clone.setAtivo(getAtivo());
        clone.setDataCriacao(getDataCriacao());
        clone.setDataAtualizacao(getDataAtualizacao());
        clone.setTipoLista(getTipoLista());

        return clone;
    }

    @Override
    public int compareTo(GrupoDestinatario grupoDestinatario) {
        long primaryKey = grupoDestinatario.getPrimaryKey();

        if (getPrimaryKey() < primaryKey) {
            return -1;
        } else if (getPrimaryKey() > primaryKey) {
            return 1;
        } else {
            return 0;
        }
    }

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

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

        GrupoDestinatarioClp grupoDestinatario = (GrupoDestinatarioClp) obj;

        long primaryKey = grupoDestinatario.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(37);

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

        return sb.toString();
    }

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

        sb.append("<model><model-name>");
        sb.append(
            "br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario");
        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>grupoDestinatarioId</column-name><column-value><![CDATA[");
        sb.append(getGrupoDestinatarioId());
        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>userId</column-name><column-value><![CDATA[");
        sb.append(getUserId());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>nome</column-name><column-value><![CDATA[");
        sb.append(getNome());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>finalidade</column-name><column-value><![CDATA[");
        sb.append(getFinalidade());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>userIdResponsaveis</column-name><column-value><![CDATA[");
        sb.append(getUserIdResponsaveis());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>listaTemporaria</column-name><column-value><![CDATA[");
        sb.append(getListaTemporaria());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>dataFinalListaTemporaria</column-name><column-value><![CDATA[");
        sb.append(getDataFinalListaTemporaria());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>envioEmNomeLista</column-name><column-value><![CDATA[");
        sb.append(getEnvioEmNomeLista());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>userIdNomesLista</column-name><column-value><![CDATA[");
        sb.append(getUserIdNomesLista());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>listaModerada</column-name><column-value><![CDATA[");
        sb.append(getListaModerada());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>userIdListaModerada</column-name><column-value><![CDATA[");
        sb.append(getUserIdListaModerada());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>ativo</column-name><column-value><![CDATA[");
        sb.append(getAtivo());
        sb.append("]]></column-value></column>");
        sb.append(
            "<column><column-name>dataCriacao</column-name><column-value><![CDATA[");
        sb.append(getDataCriacao());
        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>tipoLista</column-name><column-value><![CDATA[");
        sb.append(getTipoLista());
        sb.append("]]></column-value></column>");

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

        return sb.toString();
    }
}
