package br.usp.nds.remote.persistencia; import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import org.apache.commons.codec.binary.Base64; import br.usp.nds.remote.servico.TipoRetorno; @Entity public class Arquivo extends Entidade implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int codigo; private String base64; @TipoRetorno(mediaType = "image/*") public byte[] consultarImagemEmbarcacao() { String[] base64 = em.find(Arquivo.class, em.find(Embarcacao.class, codigo).getArquivo()).getBase64().split("[;]base64[,]"); mediaType = base64[0].split("[:]")[1]; return Base64.decodeBase64(base64[1]); } @TipoRetorno(mediaType = "image/*") public byte[] consultarImagem() { String[] base64 = em.find(Arquivo.class, codigo).getBase64().split("[;]base64[,]"); mediaType = base64[0].split("[:]")[1]; return Base64.decodeBase64(base64[1]); } public String consultar() { return em.find(Arquivo.class, codigo).getBase64(); } public int getCodigo() { return codigo; } public void setCodigo(int codigo) { this.codigo = codigo; } public String getBase64() { return base64; } public void setBase64(String base64) { this.base64 = base64; } }