Subversion Repositories Integrator Subversion

Rev

Rev 106 | Details | Compare with Previous | Last modification | View Log | RSS feed

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