@Override public void close() throws IOException { super.close(); out.close(); }
private BinaryMessage(final InputStream is) throws IOException, MimeIOException { try { MimeStreamParser parser = new MimeStreamParser(null); StorageProvider storageProvider; if (System.getProperty(DefaultStorageProvider.DEFAULT_STORAGE_PROVIDER_PROPERTY) != null) { storageProvider = DefaultStorageProvider.getInstance(); } else { StorageProvider backend = new CustomTempFileStorageProvider(); storageProvider = new ThresholdStorageProvider(backend, 1024); } parser.setContentHandler(new BinaryOnlyMessageBuilder(this, storageProvider)); parser.parse(is); } catch (MimeException e) { throw new MimeIOException(e); } } }
/** * Stores the specified image in a Storage object. */ private static Storage storeImage(StorageProvider storageProvider, BufferedImage image, String formatName) throws IOException { // An output stream that is capable of building a Storage object. StorageOutputStream out = storageProvider.createStorageOutputStream(); // Write the image to our output stream. A StorageOutputStream can be // used to create attachments using any API that supports writing a // document to an output stream, e.g. iText's PdfWriter. ImageIO.write(image, formatName, out); // Implicitly closes the output stream and returns the data that has // been written to it. return out.toStorage(); }
/** * Creates a binary part from the specified image. */ private static BinaryBody createImageBody(StorageBodyFactory bodyFactory, BufferedImage image) throws IOException { // Create a binary message body from the image StorageProvider storageProvider = bodyFactory.getStorageProvider(); Storage storage = storeImage(storageProvider, image, "png"); return bodyFactory.binaryBody(storage); }
public void run(byte[] content, int repetitions) throws Exception { DefaultStorageProvider.setInstance(new MemoryStorageProvider()); MessageBuilder builder = new DefaultMessageBuilder(); for (int i = 0; i < repetitions; i++) { builder.parseMessage(new ByteArrayInputStream(content)); } } }
BinaryMessage(InputStream is) throws IOException, MimeIOException { try { MimeStreamParser parser = new MimeStreamParser(null); parser.setContentHandler(new BinaryOnlyMessageBuilder(this, DefaultStorageProvider.getInstance())); parser.parse(is); } catch (MimeException e) { throw new MimeIOException(e); } } }
public static void main(String[] args) throws Exception { StorageProvider storageProvider = new TempFileStorageProvider(); StorageBodyFactory bodyFactory = new StorageBodyFactory(storageProvider, DecodeMonitor.SILENT);
public static void main(String[] args) throws Exception { StorageBodyFactory bodyFactory = new StorageBodyFactory(); Message message = MessageBuilder.create()
private BinaryMessage(InputStream is) throws IOException, MimeIOException { try { MimeStreamParser parser = new MimeStreamParser(null); StorageProvider storageProvider; if (System.getProperty(DefaultStorageProvider.DEFAULT_STORAGE_PROVIDER_PROPERTY) != null) { storageProvider = DefaultStorageProvider.getInstance(); } else { StorageProvider backend = new CustomTempFileStorageProvider(); storageProvider = new ThresholdStorageProvider(backend, 1024); } parser.setContentHandler(new BinaryOnlyMessageBuilder(this, storageProvider)); parser.parse(is); } catch (MimeException e) { throw new MimeIOException(e); } } }
@Override public void close() throws IOException { super.close(); out.close(); }