org.apache.james.mailrepository
Class MimeMessageJDBCSource

java.lang.Object
  |
  +--org.apache.james.core.MimeMessageSource
        |
        +--org.apache.james.mailrepository.MimeMessageJDBCSource

public class MimeMessageJDBCSource
extends MimeMessageSource

This class points to a specific message in a repository. This will return an InputStream to the JDBC field/record, possibly sequenced with the file stream.


Constructor Summary
MimeMessageJDBCSource(JDBCMailRepository repository, java.lang.String key, org.apache.avalon.cornerstone.services.store.StreamRepository sr)
          Construct a MimeMessageSource based on a JDBC repository, a key, and a stream repository (where we might store the message body)
 
Method Summary
 boolean equals(java.lang.Object obj)
          Check to see whether this is the same repository and the same key
 java.io.InputStream getInputStream()
          Return the input stream to the database field and then the file stream.
 long getMessageSize()
          Runs a custom SQL statement to check the size of the message body
 java.lang.String getSourceId()
          Returns a unique String ID that represents where this file is loaded from.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MimeMessageJDBCSource

public MimeMessageJDBCSource(JDBCMailRepository repository,
                             java.lang.String key,
                             org.apache.avalon.cornerstone.services.store.StreamRepository sr)
                      throws java.io.IOException
Construct a MimeMessageSource based on a JDBC repository, a key, and a stream repository (where we might store the message body)

Method Detail

getSourceId

public java.lang.String getSourceId()
Description copied from class: MimeMessageSource
Returns a unique String ID that represents where this file is loaded from. This will be used to identify where the data is, primarily to avoid situations where this data would get overwritten.

Specified by:
getSourceId in class MimeMessageSource

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
Return the input stream to the database field and then the file stream. This should be smart enough to work even if the file does not exist. This is to support a repository with the entire message in the database, which is how James 1.2 worked.

Specified by:
getInputStream in class MimeMessageSource
java.io.IOException

getMessageSize

public long getMessageSize()
                    throws java.io.IOException
Runs a custom SQL statement to check the size of the message body

Overrides:
getMessageSize in class MimeMessageSource
java.io.IOException

equals

public boolean equals(java.lang.Object obj)
Check to see whether this is the same repository and the same key

Overrides:
equals in class java.lang.Object


"Copyright © 2001 Apache Jakarta Project. All Rights Reserved."