org.apache.james.mime4j.storage
Class ThresholdStorageProvider

java.lang.Object
  extended by org.apache.james.mime4j.storage.AbstractStorageProvider
      extended by org.apache.james.mime4j.storage.ThresholdStorageProvider
All Implemented Interfaces:
StorageProvider

public class ThresholdStorageProvider
extends AbstractStorageProvider

A StorageProvider that keeps small amounts of data in memory and writes the remainder to another StorageProvider (the back-end) if a certain threshold size gets exceeded.

Example usage:

 StorageProvider tempStore = new TempFileStorageProvider();
 StorageProvider provider = new ThresholdStorageProvider(tempStore, 4096);
 DefaultStorageProvider.setInstance(provider);
 


Constructor Summary
ThresholdStorageProvider(StorageProvider backend)
          Creates a new ThresholdStorageProvider for the given back-end using a threshold size of 2048 bytes.
ThresholdStorageProvider(StorageProvider backend, int thresholdSize)
          Creates a new ThresholdStorageProvider for the given back-end and threshold size.
 
Method Summary
 StorageOutputStream createStorageOutputStream()
          Creates a StorageOutputStream where data to be stored can be written to.
 
Methods inherited from class org.apache.james.mime4j.storage.AbstractStorageProvider
store
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThresholdStorageProvider

public ThresholdStorageProvider(StorageProvider backend)
Creates a new ThresholdStorageProvider for the given back-end using a threshold size of 2048 bytes.


ThresholdStorageProvider

public ThresholdStorageProvider(StorageProvider backend,
                                int thresholdSize)
Creates a new ThresholdStorageProvider for the given back-end and threshold size.

Parameters:
backend - used to store the remainder of the data if the threshold size gets exceeded.
thresholdSize - determines how much bytes are kept in memory before that back-end storage provider is used to store the remainder of the data.
Method Detail

createStorageOutputStream

public StorageOutputStream createStorageOutputStream()
Description copied from interface: StorageProvider
Creates a StorageOutputStream where data to be stored can be written to. Subsequently the user can call toStorage() on that object to get a Storage instance that holds the data that has been written.

Returns:
a StorageOutputStream where data can be written to.


Copyright © 2004-2011 The Apache Software Foundation. All Rights Reserved.