Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
526 blopes 1
package br.com.ec.domain.dto;
2
 
3
import br.com.ec.core.util.ArquivoUtil;
4
import br.com.ec.core.util.ImagemUtil;
5
import br.com.ec.core.util.TipoExtensao;
6
 
7
public class ImagemDTO {
8
 
9
        private static final int TAMANHO_MAXIMO_ARQUIVO_KBYTES_3000 = 3000;
10
        private VigenciaDTO vigenciaDTO;
11
        private String descricao;
12
        private String extensao;
13
        private byte[] arquivo;
14
 
15
        public VigenciaDTO getVigenciaDTO() {
16
                return vigenciaDTO;
17
        }
18
        public void setVigenciaDTO(VigenciaDTO vigenciaDTO) {
19
                this.vigenciaDTO = vigenciaDTO;
20
        }
21
 
22
        public String getDescricao() {
23
                return descricao;
24
        }
25
        public void setDescricao(String descricao) {
26
                this.descricao = descricao;
27
        }
28
 
29
        public String getExtensao() {
30
                return extensao;
31
        }
32
        public void setExtensao(String extensao) {
33
                this.extensao = extensao;
34
        }
35
 
36
        public byte[] getArquivo() {
37
                return arquivo;
38
        }
39
        public void setArquivo(byte[] arquivo) {
40
                this.arquivo = arquivo;
41
        }
42
 
43
        public String getNomeArquivoCompleto() {
44
                return getDescricao() + "." + getExtensao();
45
        }
46
 
47
        public TipoExtensao getTipoExtensao() {
48
                return TipoExtensao.parse(getExtensao());
49
        }
50
 
51
        public void compactarImagem() {
52
                if (this.getTipoExtensao().isTipoExtensaoImagem()) {
53
                        converterPngParaJpg();
54
                        byte[] byteConvertido = ImagemUtil.compactarImagemComTamanhoMaximoDeAlturaOuLargura(getArquivo(), getExtensao(), 1000);
55
                        setArquivo(byteConvertido);
56
                }
57
        }
58
 
59
        public void converterPngParaJpg() {
60
                if (TipoExtensao.PNG.equals(getTipoExtensao())) {
61
                        byte[] byteConvertido = ImagemUtil.converterImagem(getArquivo(), TipoExtensao.JPG.getValue());
62
                        setArquivo(byteConvertido);
63
                        setExtensao(TipoExtensao.JPG.getValue());
64
                }
65
        }
66
 
67
        public Boolean isExcedeuLimite() {
68
                if (!getTipoExtensao().isTipoExtensaoImagem()) {
69
                        Double tamanhoArquivo = ArquivoUtil.retornarKilobyteDoArquivo(getArquivo());
70
                        return (tamanhoArquivo > TAMANHO_MAXIMO_ARQUIVO_KBYTES_3000);
71
                }
72
                return false;
73
        }
74
 
75
}