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

import br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario;
import br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatarioModel;
import br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatarioSoap;

import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.json.JSON;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.ProxyUtil;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.model.CacheModel;
import com.liferay.portal.model.impl.BaseModelImpl;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.util.PortalUtil;

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

import java.io.Serializable;

import java.sql.Types;

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

/**
 * The base model implementation for the GrupoDestinatario service. Represents a row in the &quot;PRT_GESTMSG_GRP_DESTINATARIO&quot; database table, with each column mapped to a property of this class.
 *
 * <p>
 * This implementation and its corresponding interface {@link br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatarioModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link GrupoDestinatarioImpl}.
 * </p>
 *
 * @author Henrique Simoes
 * @see GrupoDestinatarioImpl
 * @see br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario
 * @see br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatarioModel
 * @generated
 */
@JSON(strict = true)
public class GrupoDestinatarioModelImpl extends BaseModelImpl<GrupoDestinatario>
    implements GrupoDestinatarioModel {
    /*
     * NOTE FOR DEVELOPERS:
     *
     * Never modify or reference this class directly. All methods that expect a grupo destinatario model instance should use the {@link br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario} interface instead.
     */
    public static final String TABLE_NAME = "PRT_GESTMSG_GRP_DESTINATARIO";
    public static final Object[][] TABLE_COLUMNS = {
            { "uuid_", Types.VARCHAR },
            { "grupoDestinatarioId", Types.BIGINT },
            { "companyId", Types.BIGINT },
            { "groupId", Types.BIGINT },
            { "userId", Types.BIGINT },
            { "nome", Types.VARCHAR },
            { "finalidade", Types.CLOB },
            { "userIdResponsaveis", Types.VARCHAR },
            { "listaTemporaria", Types.BOOLEAN },
            { "dataFinalListaTemporaria", Types.TIMESTAMP },
            { "envioEmNomeLista", Types.BOOLEAN },
            { "userIdNomesLista", Types.VARCHAR },
            { "listaModerada", Types.BOOLEAN },
            { "userIdListaModerada", Types.VARCHAR },
            { "ativo", Types.BOOLEAN },
            { "dataCriacao", Types.TIMESTAMP },
            { "dataAtualizacao", Types.TIMESTAMP },
            { "tipoLista", Types.INTEGER }
        };
    public static final String TABLE_SQL_CREATE = "create table PRT_GESTMSG_GRP_DESTINATARIO (uuid_ VARCHAR(75) null,grupoDestinatarioId LONG not null primary key,companyId LONG,groupId LONG,userId LONG,nome VARCHAR(75) null,finalidade TEXT null,userIdResponsaveis VARCHAR(75) null,listaTemporaria BOOLEAN,dataFinalListaTemporaria DATE null,envioEmNomeLista BOOLEAN,userIdNomesLista VARCHAR(75) null,listaModerada BOOLEAN,userIdListaModerada VARCHAR(75) null,ativo BOOLEAN,dataCriacao DATE null,dataAtualizacao DATE null,tipoLista INTEGER)";
    public static final String TABLE_SQL_DROP = "drop table PRT_GESTMSG_GRP_DESTINATARIO";
    public static final String ORDER_BY_JPQL = " ORDER BY grupoDestinatario.grupoDestinatarioId ASC";
    public static final String ORDER_BY_SQL = " ORDER BY PRT_GESTMSG_GRP_DESTINATARIO.grupoDestinatarioId ASC";
    public static final String DATA_SOURCE = "liferayDataSource";
    public static final String SESSION_FACTORY = "liferaySessionFactory";
    public static final String TX_MANAGER = "liferayTransactionManager";
    public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get(
                "value.object.entity.cache.enabled.br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario"),
            true);
    public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get(
                "value.object.finder.cache.enabled.br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario"),
            true);
    public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get(
                "value.object.column.bitmask.enabled.br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario"),
            true);
    public static long ATIVO_COLUMN_BITMASK = 1L;
    public static long COMPANYID_COLUMN_BITMASK = 2L;
    public static long GROUPID_COLUMN_BITMASK = 4L;
    public static long GRUPODESTINATARIOID_COLUMN_BITMASK = 8L;
    public static long NOME_COLUMN_BITMASK = 16L;
    public static long TIPOLISTA_COLUMN_BITMASK = 32L;
    public static long UUID_COLUMN_BITMASK = 64L;
    public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.util.service.ServiceProps.get(
                "lock.expiration.time.br.mp.mprj.portal.portlet.gestaomensagens.service.model.GrupoDestinatario"));
    private static ClassLoader _classLoader = GrupoDestinatario.class.getClassLoader();
    private static Class<?>[] _escapedModelInterfaces = new Class[] {
            GrupoDestinatario.class
        };
    private String _uuid;
    private String _originalUuid;
    private long _grupoDestinatarioId;
    private long _originalGrupoDestinatarioId;
    private boolean _setOriginalGrupoDestinatarioId;
    private long _companyId;
    private long _originalCompanyId;
    private boolean _setOriginalCompanyId;
    private long _groupId;
    private long _originalGroupId;
    private boolean _setOriginalGroupId;
    private long _userId;
    private String _userUuid;
    private String _nome;
    private String _originalNome;
    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 boolean _originalAtivo;
    private boolean _setOriginalAtivo;
    private Date _dataCriacao;
    private Date _dataAtualizacao;
    private int _tipoLista;
    private int _originalTipoLista;
    private boolean _setOriginalTipoLista;
    private long _columnBitmask;
    private GrupoDestinatario _escapedModel;

    public GrupoDestinatarioModelImpl() {
    }

    /**
     * Converts the soap model instance into a normal model instance.
     *
     * @param soapModel the soap model instance to convert
     * @return the normal model instance
     */
    public static GrupoDestinatario toModel(GrupoDestinatarioSoap soapModel) {
        if (soapModel == null) {
            return null;
        }

        GrupoDestinatario model = new GrupoDestinatarioImpl();

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

        return model;
    }

    /**
     * Converts the soap model instances into normal model instances.
     *
     * @param soapModels the soap model instances to convert
     * @return the normal model instances
     */
    public static List<GrupoDestinatario> toModels(
        GrupoDestinatarioSoap[] soapModels) {
        if (soapModels == null) {
            return null;
        }

        List<GrupoDestinatario> models = new ArrayList<GrupoDestinatario>(soapModels.length);

        for (GrupoDestinatarioSoap soapModel : soapModels) {
            models.add(toModel(soapModel));
        }

        return models;
    }

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

    @JSON
    @Override
    public String getUuid() {
        if (_uuid == null) {
            return StringPool.BLANK;
        } else {
            return _uuid;
        }
    }

    @Override
    public void setUuid(String uuid) {
        if (_originalUuid == null) {
            _originalUuid = _uuid;
        }

        _uuid = uuid;
    }

    public String getOriginalUuid() {
        return GetterUtil.getString(_originalUuid);
    }

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

    @Override
    public void setGrupoDestinatarioId(long grupoDestinatarioId) {
        _columnBitmask |= GRUPODESTINATARIOID_COLUMN_BITMASK;

        if (!_setOriginalGrupoDestinatarioId) {
            _setOriginalGrupoDestinatarioId = true;

            _originalGrupoDestinatarioId = _grupoDestinatarioId;
        }

        _grupoDestinatarioId = grupoDestinatarioId;
    }

    public long getOriginalGrupoDestinatarioId() {
        return _originalGrupoDestinatarioId;
    }

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

    @Override
    public void setCompanyId(long companyId) {
        _columnBitmask |= COMPANYID_COLUMN_BITMASK;

        if (!_setOriginalCompanyId) {
            _setOriginalCompanyId = true;

            _originalCompanyId = _companyId;
        }

        _companyId = companyId;
    }

    public long getOriginalCompanyId() {
        return _originalCompanyId;
    }

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

    @Override
    public void setGroupId(long groupId) {
        _columnBitmask |= GROUPID_COLUMN_BITMASK;

        if (!_setOriginalGroupId) {
            _setOriginalGroupId = true;

            _originalGroupId = _groupId;
        }

        _groupId = groupId;
    }

    public long getOriginalGroupId() {
        return _originalGroupId;
    }

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

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

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

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

    @JSON
    @Override
    public String getNome() {
        if (_nome == null) {
            return StringPool.BLANK;
        } else {
            return _nome;
        }
    }

    @Override
    public void setNome(String nome) {
        _columnBitmask |= NOME_COLUMN_BITMASK;

        if (_originalNome == null) {
            _originalNome = _nome;
        }

        _nome = nome;
    }

    public String getOriginalNome() {
        return GetterUtil.getString(_originalNome);
    }

    @JSON
    @Override
    public String getFinalidade() {
        if (_finalidade == null) {
            return StringPool.BLANK;
        } else {
            return _finalidade;
        }
    }

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

    @JSON
    @Override
    public String getUserIdResponsaveis() {
        if (_userIdResponsaveis == null) {
            return StringPool.BLANK;
        } else {
            return _userIdResponsaveis;
        }
    }

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

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

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

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

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

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

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

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

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

    @JSON
    @Override
    public String getUserIdNomesLista() {
        if (_userIdNomesLista == null) {
            return StringPool.BLANK;
        } else {
            return _userIdNomesLista;
        }
    }

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

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

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

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

    @JSON
    @Override
    public String getUserIdListaModerada() {
        if (_userIdListaModerada == null) {
            return StringPool.BLANK;
        } else {
            return _userIdListaModerada;
        }
    }

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

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

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

    @Override
    public void setAtivo(boolean ativo) {
        _columnBitmask |= ATIVO_COLUMN_BITMASK;

        if (!_setOriginalAtivo) {
            _setOriginalAtivo = true;

            _originalAtivo = _ativo;
        }

        _ativo = ativo;
    }

    public boolean getOriginalAtivo() {
        return _originalAtivo;
    }

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

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

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

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

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

    @Override
    public void setTipoLista(int tipoLista) {
        _columnBitmask |= TIPOLISTA_COLUMN_BITMASK;

        if (!_setOriginalTipoLista) {
            _setOriginalTipoLista = true;

            _originalTipoLista = _tipoLista;
        }

        _tipoLista = tipoLista;
    }

    public int getOriginalTipoLista() {
        return _originalTipoLista;
    }

    public long getColumnBitmask() {
        return _columnBitmask;
    }

    @Override
    public ExpandoBridge getExpandoBridge() {
        return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
            GrupoDestinatario.class.getName(), getPrimaryKey());
    }

    @Override
    public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
        ExpandoBridge expandoBridge = getExpandoBridge();

        expandoBridge.setAttributes(serviceContext);
    }

    @Override
    public GrupoDestinatario toEscapedModel() {
        if (_escapedModel == null) {
            _escapedModel = (GrupoDestinatario) ProxyUtil.newProxyInstance(_classLoader,
                    _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
        }

        return _escapedModel;
    }

    @Override
    public Object clone() {
        GrupoDestinatarioImpl grupoDestinatarioImpl = new GrupoDestinatarioImpl();

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

        grupoDestinatarioImpl.resetOriginalValues();

        return grupoDestinatarioImpl;
    }

    @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 GrupoDestinatario)) {
            return false;
        }

        GrupoDestinatario grupoDestinatario = (GrupoDestinatario) obj;

        long primaryKey = grupoDestinatario.getPrimaryKey();

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

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

    @Override
    public void resetOriginalValues() {
        GrupoDestinatarioModelImpl grupoDestinatarioModelImpl = this;

        grupoDestinatarioModelImpl._originalUuid = grupoDestinatarioModelImpl._uuid;

        grupoDestinatarioModelImpl._originalGrupoDestinatarioId = grupoDestinatarioModelImpl._grupoDestinatarioId;

        grupoDestinatarioModelImpl._setOriginalGrupoDestinatarioId = false;

        grupoDestinatarioModelImpl._originalCompanyId = grupoDestinatarioModelImpl._companyId;

        grupoDestinatarioModelImpl._setOriginalCompanyId = false;

        grupoDestinatarioModelImpl._originalGroupId = grupoDestinatarioModelImpl._groupId;

        grupoDestinatarioModelImpl._setOriginalGroupId = false;

        grupoDestinatarioModelImpl._originalNome = grupoDestinatarioModelImpl._nome;

        grupoDestinatarioModelImpl._originalAtivo = grupoDestinatarioModelImpl._ativo;

        grupoDestinatarioModelImpl._setOriginalAtivo = false;

        grupoDestinatarioModelImpl._originalTipoLista = grupoDestinatarioModelImpl._tipoLista;

        grupoDestinatarioModelImpl._setOriginalTipoLista = false;

        grupoDestinatarioModelImpl._columnBitmask = 0;
    }

    @Override
    public CacheModel<GrupoDestinatario> toCacheModel() {
        GrupoDestinatarioCacheModel grupoDestinatarioCacheModel = new GrupoDestinatarioCacheModel();

        grupoDestinatarioCacheModel.uuid = getUuid();

        String uuid = grupoDestinatarioCacheModel.uuid;

        if ((uuid != null) && (uuid.length() == 0)) {
            grupoDestinatarioCacheModel.uuid = null;
        }

        grupoDestinatarioCacheModel.grupoDestinatarioId = getGrupoDestinatarioId();

        grupoDestinatarioCacheModel.companyId = getCompanyId();

        grupoDestinatarioCacheModel.groupId = getGroupId();

        grupoDestinatarioCacheModel.userId = getUserId();

        grupoDestinatarioCacheModel.nome = getNome();

        String nome = grupoDestinatarioCacheModel.nome;

        if ((nome != null) && (nome.length() == 0)) {
            grupoDestinatarioCacheModel.nome = null;
        }

        grupoDestinatarioCacheModel.finalidade = getFinalidade();

        String finalidade = grupoDestinatarioCacheModel.finalidade;

        if ((finalidade != null) && (finalidade.length() == 0)) {
            grupoDestinatarioCacheModel.finalidade = null;
        }

        grupoDestinatarioCacheModel.userIdResponsaveis = getUserIdResponsaveis();

        String userIdResponsaveis = grupoDestinatarioCacheModel.userIdResponsaveis;

        if ((userIdResponsaveis != null) && (userIdResponsaveis.length() == 0)) {
            grupoDestinatarioCacheModel.userIdResponsaveis = null;
        }

        grupoDestinatarioCacheModel.listaTemporaria = getListaTemporaria();

        Date dataFinalListaTemporaria = getDataFinalListaTemporaria();

        if (dataFinalListaTemporaria != null) {
            grupoDestinatarioCacheModel.dataFinalListaTemporaria = dataFinalListaTemporaria.getTime();
        } else {
            grupoDestinatarioCacheModel.dataFinalListaTemporaria = Long.MIN_VALUE;
        }

        grupoDestinatarioCacheModel.envioEmNomeLista = getEnvioEmNomeLista();

        grupoDestinatarioCacheModel.userIdNomesLista = getUserIdNomesLista();

        String userIdNomesLista = grupoDestinatarioCacheModel.userIdNomesLista;

        if ((userIdNomesLista != null) && (userIdNomesLista.length() == 0)) {
            grupoDestinatarioCacheModel.userIdNomesLista = null;
        }

        grupoDestinatarioCacheModel.listaModerada = getListaModerada();

        grupoDestinatarioCacheModel.userIdListaModerada = getUserIdListaModerada();

        String userIdListaModerada = grupoDestinatarioCacheModel.userIdListaModerada;

        if ((userIdListaModerada != null) &&
                (userIdListaModerada.length() == 0)) {
            grupoDestinatarioCacheModel.userIdListaModerada = null;
        }

        grupoDestinatarioCacheModel.ativo = getAtivo();

        Date dataCriacao = getDataCriacao();

        if (dataCriacao != null) {
            grupoDestinatarioCacheModel.dataCriacao = dataCriacao.getTime();
        } else {
            grupoDestinatarioCacheModel.dataCriacao = Long.MIN_VALUE;
        }

        Date dataAtualizacao = getDataAtualizacao();

        if (dataAtualizacao != null) {
            grupoDestinatarioCacheModel.dataAtualizacao = dataAtualizacao.getTime();
        } else {
            grupoDestinatarioCacheModel.dataAtualizacao = Long.MIN_VALUE;
        }

        grupoDestinatarioCacheModel.tipoLista = getTipoLista();

        return grupoDestinatarioCacheModel;
    }

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