001package org.nuxeo.template.processors.xdocreport; 002 003import java.io.IOException; 004import java.io.InputStream; 005 006import org.nuxeo.ecm.core.api.Blob; 007 008import fr.opensagres.xdocreport.core.document.ImageFormat; 009import fr.opensagres.xdocreport.document.images.AbstractInputStreamImageProvider; 010 011/** 012 * XDocReport wrapper for a Picture stored in a Nuxeo Blob 013 * 014 * @author <a href="mailto:tdelprat@nuxeo.com">Tiry</a> 015 */ 016public class BlobImageProvider extends AbstractInputStreamImageProvider { 017 018 protected final Blob blob; 019 020 protected final ImageFormat imageFormat; 021 022 public BlobImageProvider(Blob blob) { 023 super(false); 024 this.blob = blob; 025 this.imageFormat = ImageFormat.getFormatByResourceName(blob.getFilename()); 026 } 027 028 @Override 029 protected InputStream getInputStream() throws IOException { 030 return blob.getStream(); 031 } 032 033 @Override 034 public ImageFormat getImageFormat() { 035 return imageFormat; 036 } 037 038}