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

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

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

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

    public AnexoMensagemWrapper(AnexoMensagem anexoMensagem) {
        _anexoMensagem = anexoMensagem;
    }

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

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

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

        attributes.put("uuid", getUuid());
        attributes.put("anexoMensagemId", getAnexoMensagemId());
        attributes.put("mensagemId", getMensagemId());
        attributes.put("companyId", getCompanyId());
        attributes.put("groupId", getGroupId());
        attributes.put("userId", getUserId());
        attributes.put("dataCriacao", getDataCriacao());
        attributes.put("anexoUrl", getAnexoUrl());
        attributes.put("fileName", getFileName());
        attributes.put("versao", getVersao());
        attributes.put("contentType", getContentType());
        attributes.put("ativo", getAtivo());
        attributes.put("anexoFileEntryId", getAnexoFileEntryId());
        attributes.put("anexoPath", getAnexoPath());

        return attributes;
    }

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

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

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

        if (anexoMensagemId != null) {
            setAnexoMensagemId(anexoMensagemId);
        }

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

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

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

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

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

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

        if (anexoUrl != null) {
            setAnexoUrl(anexoUrl);
        }

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

        if (fileName != null) {
            setFileName(fileName);
        }

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

        if (versao != null) {
            setVersao(versao);
        }

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

        if (contentType != null) {
            setContentType(contentType);
        }

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

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

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

        if (anexoFileEntryId != null) {
            setAnexoFileEntryId(anexoFileEntryId);
        }

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

        if (anexoPath != null) {
            setAnexoPath(anexoPath);
        }
    }

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

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

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

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

    /**
    * Returns the anexo mensagem ID of this anexo mensagem.
    *
    * @return the anexo mensagem ID of this anexo mensagem
    */
    @Override
    public long getAnexoMensagemId() {
        return _anexoMensagem.getAnexoMensagemId();
    }

    /**
    * Sets the anexo mensagem ID of this anexo mensagem.
    *
    * @param anexoMensagemId the anexo mensagem ID of this anexo mensagem
    */
    @Override
    public void setAnexoMensagemId(long anexoMensagemId) {
        _anexoMensagem.setAnexoMensagemId(anexoMensagemId);
    }

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

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

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

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

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

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

    /**
    * Returns the user ID of this anexo mensagem.
    *
    * @return the user ID of this anexo mensagem
    */
    @Override
    public long getUserId() {
        return _anexoMensagem.getUserId();
    }

    /**
    * Sets the user ID of this anexo mensagem.
    *
    * @param userId the user ID of this anexo mensagem
    */
    @Override
    public void setUserId(long userId) {
        _anexoMensagem.setUserId(userId);
    }

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

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

    /**
    * Returns the data criacao of this anexo mensagem.
    *
    * @return the data criacao of this anexo mensagem
    */
    @Override
    public java.util.Date getDataCriacao() {
        return _anexoMensagem.getDataCriacao();
    }

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

    /**
    * Returns the anexo url of this anexo mensagem.
    *
    * @return the anexo url of this anexo mensagem
    */
    @Override
    public java.lang.String getAnexoUrl() {
        return _anexoMensagem.getAnexoUrl();
    }

    /**
    * Sets the anexo url of this anexo mensagem.
    *
    * @param anexoUrl the anexo url of this anexo mensagem
    */
    @Override
    public void setAnexoUrl(java.lang.String anexoUrl) {
        _anexoMensagem.setAnexoUrl(anexoUrl);
    }

    /**
    * Returns the file name of this anexo mensagem.
    *
    * @return the file name of this anexo mensagem
    */
    @Override
    public java.lang.String getFileName() {
        return _anexoMensagem.getFileName();
    }

    /**
    * Sets the file name of this anexo mensagem.
    *
    * @param fileName the file name of this anexo mensagem
    */
    @Override
    public void setFileName(java.lang.String fileName) {
        _anexoMensagem.setFileName(fileName);
    }

    /**
    * Returns the versao of this anexo mensagem.
    *
    * @return the versao of this anexo mensagem
    */
    @Override
    public java.lang.String getVersao() {
        return _anexoMensagem.getVersao();
    }

    /**
    * Sets the versao of this anexo mensagem.
    *
    * @param versao the versao of this anexo mensagem
    */
    @Override
    public void setVersao(java.lang.String versao) {
        _anexoMensagem.setVersao(versao);
    }

    /**
    * Returns the content type of this anexo mensagem.
    *
    * @return the content type of this anexo mensagem
    */
    @Override
    public java.lang.String getContentType() {
        return _anexoMensagem.getContentType();
    }

    /**
    * Sets the content type of this anexo mensagem.
    *
    * @param contentType the content type of this anexo mensagem
    */
    @Override
    public void setContentType(java.lang.String contentType) {
        _anexoMensagem.setContentType(contentType);
    }

    /**
    * Returns the ativo of this anexo mensagem.
    *
    * @return the ativo of this anexo mensagem
    */
    @Override
    public boolean getAtivo() {
        return _anexoMensagem.getAtivo();
    }

    /**
    * Returns <code>true</code> if this anexo mensagem is ativo.
    *
    * @return <code>true</code> if this anexo mensagem is ativo; <code>false</code> otherwise
    */
    @Override
    public boolean isAtivo() {
        return _anexoMensagem.isAtivo();
    }

    /**
    * Sets whether this anexo mensagem is ativo.
    *
    * @param ativo the ativo of this anexo mensagem
    */
    @Override
    public void setAtivo(boolean ativo) {
        _anexoMensagem.setAtivo(ativo);
    }

    /**
    * Returns the anexo file entry ID of this anexo mensagem.
    *
    * @return the anexo file entry ID of this anexo mensagem
    */
    @Override
    public long getAnexoFileEntryId() {
        return _anexoMensagem.getAnexoFileEntryId();
    }

    /**
    * Sets the anexo file entry ID of this anexo mensagem.
    *
    * @param anexoFileEntryId the anexo file entry ID of this anexo mensagem
    */
    @Override
    public void setAnexoFileEntryId(long anexoFileEntryId) {
        _anexoMensagem.setAnexoFileEntryId(anexoFileEntryId);
    }

    /**
    * Returns the anexo path of this anexo mensagem.
    *
    * @return the anexo path of this anexo mensagem
    */
    @Override
    public java.lang.String getAnexoPath() {
        return _anexoMensagem.getAnexoPath();
    }

    /**
    * Sets the anexo path of this anexo mensagem.
    *
    * @param anexoPath the anexo path of this anexo mensagem
    */
    @Override
    public void setAnexoPath(java.lang.String anexoPath) {
        _anexoMensagem.setAnexoPath(anexoPath);
    }

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

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

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

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

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

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

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

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

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

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

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

    @Override
    public java.lang.Object clone() {
        return new AnexoMensagemWrapper((AnexoMensagem) _anexoMensagem.clone());
    }

    @Override
    public int compareTo(
        br.mp.mprj.portal.portlet.gestaomensagens.service.model.AnexoMensagem anexoMensagem) {
        return _anexoMensagem.compareTo(anexoMensagem);
    }

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

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

    @Override
    public br.mp.mprj.portal.portlet.gestaomensagens.service.model.AnexoMensagem toEscapedModel() {
        return new AnexoMensagemWrapper(_anexoMensagem.toEscapedModel());
    }

    @Override
    public br.mp.mprj.portal.portlet.gestaomensagens.service.model.AnexoMensagem toUnescapedModel() {
        return new AnexoMensagemWrapper(_anexoMensagem.toUnescapedModel());
    }

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

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

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

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

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

        AnexoMensagemWrapper anexoMensagemWrapper = (AnexoMensagemWrapper) obj;

        if (Validator.equals(_anexoMensagem, anexoMensagemWrapper._anexoMensagem)) {
            return true;
        }

        return false;
    }

    /**
     * @deprecated As of 6.1.0, replaced by {@link #getWrappedModel}
     */
    public AnexoMensagem getWrappedAnexoMensagem() {
        return _anexoMensagem;
    }

    @Override
    public AnexoMensagem getWrappedModel() {
        return _anexoMensagem;
    }

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