Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.com.ec.domain.dto;

import br.com.ec.core.util.ArquivoUtil;
import br.com.ec.core.util.ImagemUtil;
import br.com.ec.core.util.TipoExtensao;

public class ImagemDTO {
       
        private static final int TAMANHO_MAXIMO_ARQUIVO_KBYTES_3000 = 3000;
        private VigenciaDTO vigenciaDTO;
        private String descricao;
        private String extensao;
        private byte[] arquivo;
       
        public VigenciaDTO getVigenciaDTO() {
                return vigenciaDTO;
        }
        public void setVigenciaDTO(VigenciaDTO vigenciaDTO) {
                this.vigenciaDTO = vigenciaDTO;
        }
       
        public String getDescricao() {
                return descricao;
        }
        public void setDescricao(String descricao) {
                this.descricao = descricao;
        }
       
        public String getExtensao() {
                return extensao;
        }
        public void setExtensao(String extensao) {
                this.extensao = extensao;
        }
       
        public byte[] getArquivo() {
                return arquivo;
        }
        public void setArquivo(byte[] arquivo) {
                this.arquivo = arquivo;
        }
       
        public String getNomeArquivoCompleto() {
                return getDescricao() + "." + getExtensao();
        }
       
        public TipoExtensao getTipoExtensao() {
                return TipoExtensao.parse(getExtensao());
        }
       
        public void compactarImagem() {
                if (this.getTipoExtensao().isTipoExtensaoImagem()) {
                        converterPngParaJpg();
                        byte[] byteConvertido = ImagemUtil.compactarImagemComTamanhoMaximoDeAlturaOuLargura(getArquivo(), getExtensao(), 1000);
                        setArquivo(byteConvertido);
                }
        }
       
        public void converterPngParaJpg() {
                if (TipoExtensao.PNG.equals(getTipoExtensao())) {
                        byte[] byteConvertido = ImagemUtil.converterImagem(getArquivo(), TipoExtensao.JPG.getValue());
                        setArquivo(byteConvertido);
                        setExtensao(TipoExtensao.JPG.getValue());
                }
        }
       
        public Boolean isExcedeuLimite() {
                if (!getTipoExtensao().isTipoExtensaoImagem()) {
                        Double tamanhoArquivo = ArquivoUtil.retornarKilobyteDoArquivo(getArquivo());
                        return (tamanhoArquivo > TAMANHO_MAXIMO_ARQUIVO_KBYTES_3000);
                }
                return false;
        }
       
}