org.apache.james.mailbox.jpa.mail
Class JPAMessageMapper
java.lang.Object
org.apache.james.mailbox.store.transaction.TransactionalMapper
org.apache.james.mailbox.jpa.JPATransactionalMapper
org.apache.james.mailbox.jpa.mail.JPAMessageMapper
- All Implemented Interfaces:
- MessageMapper<java.lang.Long>, Mapper
public class JPAMessageMapper
- extends JPATransactionalMapper
- implements MessageMapper<java.lang.Long>
JPA implementation of a MessageMapper. This class is not thread-safe!
|
Constructor Summary |
JPAMessageMapper(javax.persistence.EntityManagerFactory entityManagerFactory)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JPAMessageMapper
public JPAMessageMapper(javax.persistence.EntityManagerFactory entityManagerFactory)
findInMailbox
public java.util.List<MailboxMembership<java.lang.Long>> findInMailbox(Mailbox<java.lang.Long> mailbox,
MessageRange set)
throws MailboxException
- Specified by:
findInMailbox in interface MessageMapper<java.lang.Long>
- Throws:
MailboxException- See Also:
org.apache.james.mailbox.store.mail.MessageMapper#findInMailbox(org.apache.james.mailbox.MessageRange)
findMarkedForDeletionInMailbox
public java.util.List<MailboxMembership<java.lang.Long>> findMarkedForDeletionInMailbox(Mailbox<java.lang.Long> mailbox,
MessageRange set)
throws MailboxException
- Specified by:
findMarkedForDeletionInMailbox in interface MessageMapper<java.lang.Long>
- Throws:
MailboxException- See Also:
org.apache.james.mailbox.store.mail.MessageMapper#findMarkedForDeletionInMailbox(org.apache.james.mailbox.MessageRange)
countMessagesInMailbox
public long countMessagesInMailbox(Mailbox<java.lang.Long> mailbox)
throws MailboxException
- Specified by:
countMessagesInMailbox in interface MessageMapper<java.lang.Long>
- Throws:
MailboxException- See Also:
org.apache.james.mailbox.store.mail.MessageMapper#countMessagesInMailbox()
countUnseenMessagesInMailbox
public long countUnseenMessagesInMailbox(Mailbox<java.lang.Long> mailbox)
throws MailboxException
- Specified by:
countUnseenMessagesInMailbox in interface MessageMapper<java.lang.Long>
- Throws:
MailboxException- See Also:
org.apache.james.mailbox.store.mail.MessageMapper#countUnseenMessagesInMailbox()
searchMailbox
public java.util.Iterator<java.lang.Long> searchMailbox(Mailbox<java.lang.Long> mailbox,
SearchQuery query)
throws MailboxException
- Specified by:
searchMailbox in interface MessageMapper<java.lang.Long>
- Throws:
MailboxException
delete
public void delete(Mailbox<java.lang.Long> mailbox,
MailboxMembership<java.lang.Long> message)
throws MailboxException
- Specified by:
delete in interface MessageMapper<java.lang.Long>
- Throws:
MailboxException
findFirstUnseenMessageUid
public java.lang.Long findFirstUnseenMessageUid(Mailbox<java.lang.Long> mailbox)
throws MailboxException
- Specified by:
findFirstUnseenMessageUid in interface MessageMapper<java.lang.Long>
- Throws:
MailboxException
findRecentMessagesInMailbox
public java.util.List<MailboxMembership<java.lang.Long>> findRecentMessagesInMailbox(Mailbox<java.lang.Long> mailbox,
int limit)
throws MailboxException
- Specified by:
findRecentMessagesInMailbox in interface MessageMapper<java.lang.Long>
- Throws:
MailboxException- See Also:
org.apache.james.mailbox.store.mail.MessageMapper#findRecentMessagesInMailbox()
save
public long save(Mailbox<java.lang.Long> mailbox,
MailboxMembership<java.lang.Long> message)
throws MailboxException
- Specified by:
save in interface MessageMapper<java.lang.Long>
- Throws:
MailboxException- See Also:
org.apache.james.mailbox.store.mail.MessageMapper#save(MailboxMembership)
copy
public long copy(Mailbox<java.lang.Long> mailbox,
MailboxMembership<java.lang.Long> original)
throws MailboxException
- Specified by:
copy in interface MessageMapper<java.lang.Long>
- Throws:
MailboxException
reserveUid
protected long reserveUid(JPAMailbox mailbox)
- Reserve the uid for the next
MailboxMembership in the given JPAMailbox.
This is done by using a row lock.
- Parameters:
mailbox -
- Returns:
- uid
Copyright © 2002-2010 The Apache Software Foundation. All Rights Reserved.