| 
 | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.apache.axis.attachments.ManagedMemoryDataSource
This class allows small attachments to be cached in memory, while large ones are cached out. It implements a Java Activiation Data source interface.
| Field Summary | |
| protected  java.io.BufferedOutputStream | cachediskstreamThis is the cached disk stream. | 
| protected  boolean | closedIf true the source input stream is now closed. | 
| protected  java.lang.String | contentTypeThe content type. | 
| protected  byte[] | currentMemoryBufHold the last memory buffer. | 
| protected  int | currentMemoryBufSzThe number of bytes written to the above buffer. | 
| protected  boolean | debugEnabledField debugEnabled | 
| protected  boolean | deletedFlag to show if the resources behind this have been deleted. | 
| protected  java.io.File | diskCacheFileField diskCacheFile | 
| protected static org.apache.commons.logging.Log | is_logField is_log | 
| protected static org.apache.commons.logging.Log | logField log | 
| static int | MAX_MEMORY_DISK_CACHEDField MAX_MEMORY_DISK_CACHED | 
| protected  int | maxCachedField maxCached | 
| protected  java.util.LinkedList | memorybuflistThe linked list to hold the in memory buffers. | 
| static int | MIN_MEMORY_DISK_CACHEDField MIN_MEMORY_DISK_CACHED | 
| static int | READ_CHUNK_SZField READ_CHUNK_SZ | 
| protected  java.util.WeakHashMap | readersField readers | 
| protected  long | totalszThe total size in bytes in this data source. | 
| Constructor Summary | |
| protected  | ManagedMemoryDataSource()Constructor ManagedMemoryDataSource. | 
|   | ManagedMemoryDataSource(java.io.InputStream ss,
                        int maxCached,
                        java.lang.String contentType)Create a new boundary stream. | 
|   | ManagedMemoryDataSource(java.io.InputStream ss,
                        int maxCached,
                        java.lang.String contentType,
                        boolean readall)Create a new boundary stream. | 
| Method Summary | |
| protected  void | close()This method is a low level write. | 
|  boolean | delete() | 
| protected  void | finalize() | 
| protected  void | flushToDisk()Routine to flush data to disk if is in memory. | 
|  java.lang.String | getContentType()This method returns the MIME type of the data in the form of a string. | 
|  java.io.File | getDiskCacheFile()get the filename of the content if it is cached to disk. | 
|  java.io.InputStream | getInputStream()This method returns an InputStream representing the the data and throws the appropriate exception if it can not do so. | 
|  java.lang.String | getName()This will flush any memory source to disk and provide the name of the file if desired. | 
|  java.io.OutputStream | getOutputStream()This method returns an OutputStream where the data can be written and throws the appropriate exception if it can not do so. | 
| static void | main(java.lang.String[] arg)Method main | 
| protected  void | write(byte[] data)Write bytes to the stream. | 
| protected  void | write(byte[] data,
      int length)This method is a low level write. | 
| Methods inherited from class java.lang.Object | 
| clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
protected static org.apache.commons.logging.Log log
protected java.lang.String contentType
application/octet-stream.
public static final int MIN_MEMORY_DISK_CACHED
public static final int MAX_MEMORY_DISK_CACHED
protected int maxCached
protected java.io.File diskCacheFile
protected java.util.WeakHashMap readers
protected boolean deleted
public static final int READ_CHUNK_SZ
protected boolean debugEnabled
protected java.util.LinkedList memorybuflist
protected byte[] currentMemoryBuf
protected int currentMemoryBufSz
protected long totalsz
protected java.io.BufferedOutputStream cachediskstream
protected boolean closed
protected static org.apache.commons.logging.Log is_log
| Constructor Detail | 
protected ManagedMemoryDataSource()
public ManagedMemoryDataSource(java.io.InputStream ss,
                               int maxCached,
                               java.lang.String contentType)
                        throws java.io.IOException
ss - is the source input stream that is used to create this data source.maxCached - This is the max memory that is to be used to cache the data.contentType - the mime type for this data stream.
   by buffering you can some effiency in searching.
java.io.IOException
public ManagedMemoryDataSource(java.io.InputStream ss,
                               int maxCached,
                               java.lang.String contentType,
                               boolean readall)
                        throws java.io.IOException
ss - is the source input stream that is used to create this data source.maxCached - This is the max memory that is to be used to cache the data.contentType - the mime type for this data stream.
   by buffering you can some effiency in searching.readall - if true will read in the whole source.
java.io.IOException| Method Detail | 
public java.lang.String getContentType()
getContentType in interface javax.activation.DataSource
public java.io.InputStream getInputStream()
                                   throws java.io.IOException
getInputStream in interface javax.activation.DataSourcejava.io.IOExceptionpublic java.lang.String getName()
getName in interface javax.activation.DataSource
public java.io.OutputStream getOutputStream()
                                     throws java.io.IOException
getOutputStream in interface javax.activation.DataSourcenull
java.io.IOException
protected void write(byte[] data)
              throws java.io.IOException
data - all bytes of this array are written to the stream
java.io.IOException - if there was a problem writing the data
protected void write(byte[] data,
                     int length)
              throws java.io.IOException
data - length - 
java.io.IOException
protected void close()
              throws java.io.IOException
java.io.IOException
protected void finalize()
                 throws java.lang.Throwable
java.lang.Throwable
protected void flushToDisk()
                    throws java.io.IOException,
                           java.io.FileNotFoundException
java.io.IOException
java.io.FileNotFoundExceptionpublic boolean delete()
public static void main(java.lang.String[] arg)
arg - public java.io.File getDiskCacheFile()
| 
 | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||