You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2006/09/23 15:31:05 UTC
svn commit: r449235 -
/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/
Author: norman
Date: Sat Sep 23 06:31:04 2006
New Revision: 449235
URL: http://svn.apache.org/viewvc?view=rev&rev=449235
Log:
Fix/Add javadocs. See JAMES-628
Remove some unused imports and code
Modified:
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/AbstractJavamailStoreMailRepository.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderAdapter.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderGateKeeperImpl.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderInterface.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/HashJavamailStoreMailRepository.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/LockAdapter.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/StoreAware.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderAdapter.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderMailRepository.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UidToKeyBidiMap.java
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/AbstractJavamailStoreMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/AbstractJavamailStoreMailRepository.java?view=diff&rev=449235&r1=449234&r2=449235
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/AbstractJavamailStoreMailRepository.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/AbstractJavamailStoreMailRepository.java Sat Sep 23 06:31:04 2006
@@ -19,7 +19,6 @@
package org.apache.james.mailrepository.javamail;
import java.io.File;
-import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Collection;
import java.util.Iterator;
@@ -114,6 +113,9 @@
/**
* builds destination from attributes destinationURL and postfix.
* at the moment james does not hand over additional parameters like postfix.
+ *
+ * @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
+ *
*/
public void configure(Configuration conf) throws ConfigurationException {
log.debug("JavamailStoreMailRepository configure");
@@ -181,6 +183,7 @@
/**
* connect the mailStore
+ *
* @see Initializable#initialize()
*/
public void initialize() throws Exception {
@@ -188,6 +191,9 @@
log.debug("JavaMailStoreMailRepository initialized");
}
+ /**
+ * @see org.apache.avalon.framework.context.Contextualizable#contextualize(Context)
+ */
public void contextualize(Context context) throws ContextException {
this.context = context;
home = (File)context.get(AvalonContextConstants.APPLICATION_HOME);
@@ -198,9 +204,12 @@
return f.toURL().toString();
}
+
/**
* gets the Lock and creates it, if not present. LockInterface offers functionality
* of org.apache.james.util.Lock
+ *
+ * @return lock the LockInterface
*/
protected LockInterface getLock() {
if (lock==null) {
@@ -211,6 +220,8 @@
/**
* possibility to replace Lock implementation. At the moment only used for testing
+ *
+ * @param lock the LockInterface to use
*/
void setLock(LockInterface lock) {
this.lock=lock;
@@ -218,6 +229,8 @@
/**
* used in unit tests
+ *
+ * @return the destination of the repository
*/
String getDestination() {
return destination;
@@ -285,8 +298,8 @@
* Remove a list of messages from disk The collection is simply a list of
* mails to delete
*
- * @param mails
- * @throws MessagingException
+ * @param mails a Collection of mails which should removed
+ * @throws MessagingException
*/
public void remove(final Collection mails) throws MessagingException {
log.debug("UIDPlusFolder remove by Collection " + mails.size());
@@ -309,6 +322,8 @@
/**
* offers the underlaying Store for external use
+ *
+ * @return the Store
*/
public Store getStore() {
return mailStore;
@@ -316,6 +331,8 @@
/**
* lazy-loads random
+ *
+ * @return random an instance of random
*/
protected static synchronized Random getRandom() {
if (random == null) {
@@ -326,7 +343,9 @@
}
/**
- * sets log
+ * Set the Logger to use
+ *
+ * @see org.apache.avalon.framework.logger.AbstractLogEnabled#enableLogging(Logger)
*/
public void enableLogging(Logger log) {
super.enableLogging(log);
@@ -336,9 +355,11 @@
/**
* possibility to replace FolderGateKeeper implementation. Only used for
* testing
+ *
+ * @param folderGateKeeper the FolgerGateKeeper to use
*/
- void setFolderGateKeeper(FolderGateKeeper gk) {
- this.folderGateKeeper=gk;
+ void setFolderGateKeeper(FolderGateKeeper folderGateKeeper) {
+ this.folderGateKeeper=folderGateKeeper;
}
@@ -346,13 +367,15 @@
* used by getFolderGateKeeper to get the right FolderInterface implementation
*
* @param folder JavaMail folder
- * @return
+ * @return folderInterface the FolderInterface
* @throws NoSuchMethodException if the Folder is not suitable
*/
protected abstract FolderInterface createAdapter(Folder folder) throws NoSuchMethodException;
+
/**
* Lazy-load FolderGateKeeper with inbox folder. Inbox folder is created if
* not present
+ *
* @return FolderGateKeeper offering inbox folder for this mail repository
*/
protected FolderGateKeeper getFolderGateKeeper() {
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderAdapter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderAdapter.java?view=diff&rev=449235&r1=449234&r2=449235
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderAdapter.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderAdapter.java Sat Sep 23 06:31:04 2006
@@ -41,214 +41,375 @@
protected Folder folder;
+ /**
+ * Constructor
+ *
+ * @param folder the Folder
+ */
public FolderAdapter(Folder folder) {
this.folder=folder;
}
+ /**
+ * @see javax.mail.Folder#addConnectionListener(ConnectionListener)
+ */
public void addConnectionListener(ConnectionListener arg0) {
folder.addConnectionListener(arg0);
}
+ /**
+ * @see javax.mail.Folder#addFolderListener(FolderListener)
+ */
public void addFolderListener(FolderListener arg0) {
folder.addFolderListener(arg0);
}
+ /**
+ * @see javax.mail.Folder#addMessageChangedListener(MessageChangedListener)
+ */
public void addMessageChangedListener(MessageChangedListener arg0) {
folder.addMessageChangedListener(arg0);
}
+ /**
+ * @see javax.mail.Folder#addMessageCountListener(MessageCountListener)
+ */
public void addMessageCountListener(MessageCountListener arg0) {
folder.addMessageCountListener(arg0);
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderInterface#appendMessages(javax.mail.Message[])
+ */
public void appendMessages(Message[] arg0) throws MessagingException {
folder.appendMessages(arg0);
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderInterface#close(boolean)
+ */
public void close(boolean arg0) throws MessagingException {
folder.close(arg0);
}
+ /**
+ * @see javax.mail.Folder#copyMessages(Message[], Folder)
+ */
public void copyMessages(Message[] arg0, Folder arg1) throws MessagingException {
folder.copyMessages(arg0, arg1);
}
+ /**
+ * @see javax.mail.Folder#create(int)
+ */
public boolean create(int arg0) throws MessagingException {
return folder.create(arg0);
}
+ /**
+ * @see javax.mail.Folder#delete(boolean)
+ */
public boolean delete(boolean arg0) throws MessagingException {
return folder.delete(arg0);
}
+ /**
+ * @see javax.mail.Folder#equals(Object)
+ */
public boolean equals(Object arg0) {
return folder.equals(arg0);
}
+ /**
+ * @see javax.mail.Folder#exists()
+ */
public boolean exists() throws MessagingException {
return folder.exists();
}
+ /**
+ * @see javax.mail.Folder#expunge()
+ */
public Message[] expunge() throws MessagingException {
return folder.expunge();
}
+ /**
+ * @see javax.mail.Folder#fetch(Message[], FetchProfile)
+ */
public void fetch(Message[] arg0, FetchProfile arg1) throws MessagingException {
folder.fetch(arg0, arg1);
}
+ /**
+ * @see javax.mail.Folder#getDeletedMessageCount()
+ */
public int getDeletedMessageCount() throws MessagingException {
return folder.getDeletedMessageCount();
}
+ /**
+ * @see javax.mail.Folder#getFolder(String)
+ */
public Folder getFolder(String arg0) throws MessagingException {
return folder.getFolder(arg0);
}
+ /**
+ * @see javax.mail.Folder#getFullName()
+ */
public String getFullName() {
return folder.getFullName();
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderInterface#getMessage(int)
+ */
public Message getMessage(int arg0) throws MessagingException {
return folder.getMessage(arg0);
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderInterface#getMessageCount()
+ */
public int getMessageCount() throws MessagingException {
return folder.getMessageCount();
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderInterface#getMessages()
+ */
public Message[] getMessages() throws MessagingException {
return folder.getMessages();
}
+ /**
+ * @see javax.mail.Folder#getMessages(int, int)
+ */
public Message[] getMessages(int arg0, int arg1) throws MessagingException {
return folder.getMessages(arg0, arg1);
}
+ /**
+ * @see javax.mail.Folder#getMessages(int[])
+ */
public Message[] getMessages(int[] arg0) throws MessagingException {
return folder.getMessages(arg0);
}
+ /**
+ * @see javax.mail.Folder#getMode()
+ */
public int getMode() {
return folder.getMode();
}
+ /**
+ * @see javax.mail.Folder#getName()
+ */
public String getName() {
return folder.getName();
}
+ /**
+ * @see javax.mail.Folder#getNewMessageCount()
+ */
public int getNewMessageCount() throws MessagingException {
return folder.getNewMessageCount();
}
+ /**
+ * @see javax.mail.Folder#getParent()
+ */
public Folder getParent() throws MessagingException {
return folder.getParent();
}
+ /**
+ * @see javax.mail.Folder#getPermanentFlags()
+ */
public Flags getPermanentFlags() {
return folder.getPermanentFlags();
}
+ /**
+ * @see javax.mail.Folder#getSeparator()
+ */
public char getSeparator() throws MessagingException {
return folder.getSeparator();
}
+ /**
+ * @see javax.mail.Folder#getStore()
+ */
public Store getStore() {
return folder.getStore();
}
+ /**
+ * @see javax.mail.Folder#getType()
+ */
public int getType() throws MessagingException {
return folder.getType();
}
+ /**
+ * @see javax.mail.Folder#getUnreadMessageCount()
+ */
public int getUnreadMessageCount() throws MessagingException {
return folder.getUnreadMessageCount();
}
+ /**
+ * @see javax.mail.Folder#getURLName()
+ */
public URLName getURLName() throws MessagingException {
return folder.getURLName();
}
+ /**
+ * @see javax.mail.Folder#hashCode()
+ */
public int hashCode() {
return folder.hashCode();
}
+ /**
+ * @see javax.mail.Folder#hasNewMessages()
+ */
public boolean hasNewMessages() throws MessagingException {
return folder.hasNewMessages();
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderInterface#isOpen()
+ */
public boolean isOpen() {
return folder.isOpen();
}
+ /**
+ * @see javax.mail.Folder#isSubscribed()
+ */
public boolean isSubscribed() {
return folder.isSubscribed();
}
+ /**
+ * @see javax.mail.Folder#list()
+ */
public Folder[] list() throws MessagingException {
return folder.list();
}
+ /**
+ * @see javax.mail.Folder#list(String)
+ */
public Folder[] list(String arg0) throws MessagingException {
return folder.list(arg0);
}
+ /**
+ * @see javax.mail.Folder#listSubscribed()
+ */
public Folder[] listSubscribed() throws MessagingException {
return folder.listSubscribed();
}
+ /**
+ * @see javax.mail.Folder#listSubscribed(String)
+ */
public Folder[] listSubscribed(String arg0) throws MessagingException {
return folder.listSubscribed(arg0);
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderInterface#open(int)
+ */
public void open(int arg0) throws MessagingException {
folder.open(arg0);
}
+ /**
+ * @see javax.mail.Folder#removeConnectionListener(ConnectionListener)
+ */
public void removeConnectionListener(ConnectionListener arg0) {
folder.removeConnectionListener(arg0);
}
+ /**
+ * @see javax.mail.Folder#removeFolderListener(FolderListener)
+ */
public void removeFolderListener(FolderListener arg0) {
folder.removeFolderListener(arg0);
}
+ /**
+ * @see javax.mail.Folder#removeMessageChangedListener(MessageChangedListener)
+ */
public void removeMessageChangedListener(MessageChangedListener arg0) {
folder.removeMessageChangedListener(arg0);
}
+ /**
+ * @see javax.mail.Folder#removeMessageCountListener(MessageCountListener)
+ */
public void removeMessageCountListener(MessageCountListener arg0) {
folder.removeMessageCountListener(arg0);
}
+ /**
+ * @see javax.mail.Folder#renameTo(Folder)
+ */
public boolean renameTo(Folder arg0) throws MessagingException {
return folder.renameTo(arg0);
}
+ /**
+ * @see javax.mail.Folder#search(SearchTerm, Message[])
+ */
public Message[] search(SearchTerm arg0, Message[] arg1) throws MessagingException {
return folder.search(arg0, arg1);
}
+ /**
+ * @see javax.mail.Folder#search(SearchTerm)
+ */
public Message[] search(SearchTerm arg0) throws MessagingException {
return folder.search(arg0);
}
+ /**
+ * @see javax.mail.Folder#setFlags(int, int, Flags, boolean)
+ */
public void setFlags(int arg0, int arg1, Flags arg2, boolean arg3) throws MessagingException {
folder.setFlags(arg0, arg1, arg2, arg3);
}
+ /**
+ * @see javax.mail.Folder#setFlags(int[], Flags, boolean)
+ */
public void setFlags(int[] arg0, Flags arg1, boolean arg2) throws MessagingException {
folder.setFlags(arg0, arg1, arg2);
}
+ /**
+ * @see javax.mail.Folder#setFlags(Message[], Flags, boolean)
+ */
public void setFlags(Message[] arg0, Flags arg1, boolean arg2) throws MessagingException {
folder.setFlags(arg0, arg1, arg2);
}
+ /**
+ * @see javax.mail.Folder#setSubscribed(boolean)
+ */
public void setSubscribed(boolean arg0) throws MessagingException {
folder.setSubscribed(arg0);
}
+ /**
+ * @see javax.mail.Folder#toString()
+ */
public String toString() {
return folder.toString();
}
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderGateKeeperImpl.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderGateKeeperImpl.java?view=diff&rev=449235&r1=449234&r2=449235
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderGateKeeperImpl.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderGateKeeperImpl.java Sat Sep 23 06:31:04 2006
@@ -29,7 +29,7 @@
* offers access to an underlaying Folder and manages open/close operations.<br>
* The FolderGateKeeper can be handed over to different threads.
*
- * @sse FolderGateKeeper
+ * @see org.apache.james.mailrepository.javamail.FolderGateKeeper
*
*/
public class FolderGateKeeperImpl implements FolderGateKeeper {
@@ -40,6 +40,11 @@
boolean open = false;
+ /**
+ * Construct new FolderGateKeeperImpl
+ *
+ * @param folder the FolderInterface
+ */
public FolderGateKeeperImpl(FolderInterface folder) {
if (folder.isOpen()) {
throw new IllegalStateException(
@@ -48,10 +53,16 @@
this.folder = folder;
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderGateKeeper#use()
+ */
public synchronized void use() {
inUse++;
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderGateKeeper#free()
+ */
public synchronized void free() throws MessagingException {
if (inUse < 1) {
throw new IllegalStateException(
@@ -74,6 +85,9 @@
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderGateKeeper#getOpenFolder()
+ */
public synchronized FolderInterface getOpenFolder() throws MessagingException {
if (inUse < 1) {
throw new IllegalStateException(
@@ -92,10 +106,16 @@
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderGateKeeper#getUseCount()
+ */
public synchronized int getUseCount() {
return inUse;
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.FolderGateKeeper#getFolder()
+ */
public synchronized FolderInterface getFolder() {
if (inUse < 1) {
throw new IllegalStateException(
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderInterface.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderInterface.java?view=diff&rev=449235&r1=449234&r2=449235
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderInterface.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/FolderInterface.java Sat Sep 23 06:31:04 2006
@@ -23,6 +23,7 @@
import javax.mail.Message;
import javax.mail.MessagingException;
+import javax.mail.event.MessageChangedListener;
/**
* Interface to javax.mail.Folder functionality to be able to replace
@@ -31,18 +32,39 @@
public interface FolderInterface {
+ /**
+ * @see javax.mail.Folder#getMessages()
+ */
public Message[] getMessages() throws MessagingException;
+ /**
+ * @see javax.mail.Folder#getMessage(int)
+ */
public Message getMessage(int no) throws MessagingException;
+ /**
+ * @see javax.mail.Folder#getMessageCount()
+ */
public int getMessageCount() throws MessagingException;
+ /**
+ * @see javax.mail.Folder#appendMessages(Message[])
+ */
public void appendMessages(Message[] messages) throws MessagingException;
+ /**
+ * @see javax.mail.Folder#isOpen()
+ */
public boolean isOpen();
+ /**
+ * @see javax.mail.Folder#open(int)
+ */
public void open(int status) throws MessagingException;
+ /**
+ * @see javax.mail.Folder#close(boolean)
+ */
public void close(boolean b) throws MessagingException;
}
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/HashJavamailStoreMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/HashJavamailStoreMailRepository.java?view=diff&rev=449235&r1=449234&r2=449235
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/HashJavamailStoreMailRepository.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/HashJavamailStoreMailRepository.java Sat Sep 23 06:31:04 2006
@@ -70,7 +70,13 @@
private boolean getMessageCountOnClosed =true;
-
+ /**
+ * get the count of messages
+ *
+ * @return the count of messages
+ *
+ * @throws MessagingException
+ */
protected int getMessageCount() throws MessagingException {
try {
getFolderGateKeeper().use();
@@ -94,6 +100,8 @@
* Stores a message by Javamails appendMessages method. Tries to guess
* resulting messagenumber and saves result in keyToMsgMap. If Folder
* supports getMessageCount on closed folder, this could be quite efficient
+ *
+ * @see org.apache.james.services.MailRepository#store(Mail)
*/
public synchronized void store(Mail mc) throws MessagingException {
@@ -174,6 +182,8 @@
/**
* calls rehash and uses stored keys in KeyToMsgMap
+ *
+ * @see org.apache.james.services.MailRepository#list()
*/
public Iterator list() throws MessagingException {
try {
@@ -193,6 +203,8 @@
/**
* uses getMessageFromInbox, returns null if not found
+ *
+ * @see org.apache.james.services.MailRepository#retrieve(String)
*/
public Mail retrieve(String key) throws MessagingException {
log.debug("retrieve: " + key);
@@ -220,8 +232,7 @@
* setFlag(Flags.Flag.DELETED, true); on message. removes message from
* KeyToMsgMap. Messagenumbers are recalculated for next guesses.
*
- * @param key
- * the key of the message to be removed from the repository
+ * @see org.apache.james.services.MailRepository#remove(String)
*/
public synchronized void remove(String key) throws MessagingException {
log.debug("HashJavamailStore remove key:" + key);
@@ -338,7 +349,7 @@
/**
* lazy loads KeyToMsgMap
*
- * @return
+ * @return keyToMsgMap the KeyToMsgMap
*/
protected KeyToMsgMap getKeyToMsgMap() {
if (keyToMsgMap == null) {
@@ -395,6 +406,12 @@
hashToMsgObj = new HashMap();
}
+ /**
+ * Return true if a MsgObj is stored with the given key
+ *
+ * @param key the key
+ * @return true if a MsgObj is stored with the given key
+ */
public synchronized boolean contains(String key) {
return keyToMsgObj.containsKey(key);
}
@@ -468,10 +485,21 @@
}
}
+ /**
+ * Return an String[] of all stored keys
+ *
+ * @return keys a String[] of all stored keys
+ */
public synchronized String[] getKeys() {
return (String[]) keyToMsgObj.keySet().toArray(new String[0]);
}
+ /**
+ * Return the MsgObj associted with the given key
+ *
+ * @param key the key
+ * @return msgObj the MsgObj for the given key
+ */
public synchronized MsgObj getByKey(String key) {
return (MsgObj) keyToMsgObj.get(key);
}
@@ -489,7 +517,6 @@
* @return fetched/created MsgObj
* @throws MessagingException
*/
-
public synchronized MsgObj put(final MimeMessage mm, String key,
final int no) throws MessagingException {
final Object hash = calcMessageHash(mm);
@@ -528,6 +555,11 @@
}
+ /**
+ * TODO: Check why we have to methods which do the same
+ *
+ * @see #getByKey(String)
+ */
public synchronized MsgObj getMsgObj(String key) {
return (MsgObj) keyToMsgObj.get(key);
}
@@ -589,6 +621,7 @@
/**
* just uses a FolderAdapter to wrap around folder
*
+ * @see org.apache.james.mailrepository.javamail.AbstractJavamailStoreMailRepository#createAdapter(Folder)
*/
protected FolderInterface createAdapter(Folder folder)
throws NoSuchMethodException {
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/LockAdapter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/LockAdapter.java?view=diff&rev=449235&r1=449234&r2=449235
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/LockAdapter.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/LockAdapter.java Sat Sep 23 06:31:04 2006
@@ -31,14 +31,23 @@
public class LockAdapter implements LockInterface {
Lock lock= new Lock();
+ /**
+ * @see org.apache.james.mailrepository.javamail.LockInterface#isLocked(java.lang.Object)
+ */
public boolean isLocked(Object key) {
return lock.isLocked(key);
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.LockInterface#lock(java.lang.Object)
+ */
public boolean lock(Object key) {
return lock.lock(key);
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.LockInterface#unlock(java.lang.Object)
+ */
public boolean unlock(Object key) {
return lock.unlock(key);
}
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/StoreAware.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/StoreAware.java?view=diff&rev=449235&r1=449234&r2=449235
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/StoreAware.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/StoreAware.java Sat Sep 23 06:31:04 2006
@@ -27,11 +27,14 @@
* Bridge, that allows JavamailStoreMailRepository implementations to offer the
* underlaying Javamail Store
*
- * @author Joachim Draeger <jd at joachim-draeger.de>
*/
-
public interface StoreAware {
+ /**
+ * Return the Store
+ *
+ * @return store the Store
+ */
public Store getStore();
}
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderAdapter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderAdapter.java?view=diff&rev=449235&r1=449234&r2=449235
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderAdapter.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderAdapter.java Sat Sep 23 06:31:04 2006
@@ -37,6 +37,12 @@
private Method addUIDMessagesMethod;
+ /**
+ * Wrap the Folder
+ *
+ * @param folder the Folder
+ * @throws NoSuchMethodException
+ */
public UIDPlusFolderAdapter(Folder folder) throws NoSuchMethodException {
super(folder);
try {
@@ -47,6 +53,9 @@
}
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.UIDPlusFolder#addUIDMessages(javax.mail.Message[])
+ */
public long[] addUIDMessages(Message[] msgs) throws MessagingException {
try {
return (long[]) addUIDMessagesMethod.invoke(folder, new Object[] { msgs });
@@ -63,31 +72,45 @@
}
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.UIDPlusFolder#addMessages(javax.mail.Message[])
+ */
public Message[] addMessages(Message[] msgs) throws MessagingException {
throw new RuntimeException("Method addMessages(Message[] msgs) not implemented");
}
+ /**
+ * @see javax.mail.UIDFolder#getUIDValidity()
+ */
public long getUIDValidity() throws MessagingException {
return ((UIDFolder)folder).getUIDValidity();
}
+ /**
+ * @see javax.mail.UIDFolder#getMessageByUID(long)
+ */
public Message getMessageByUID(long arg0) throws MessagingException {
return ((UIDFolder)folder).getMessageByUID(arg0);
}
+ /**
+ * @see javax.mail.UIDFolder#getMessagesByUID(long, long)
+ */
public Message[] getMessagesByUID(long arg0, long arg1) throws MessagingException {
return ((UIDFolder)folder).getMessagesByUID(arg0, arg1);
}
+ /**
+ * @see javax.mail.UIDFolder#getMessagesByUID(long[])
+ */
public Message[] getMessagesByUID(long[] arg0) throws MessagingException {
return ((UIDFolder)folder).getMessagesByUID(arg0);
}
+ /**
+ * @see javax.mail.UIDFolder#getUID(javax.mail.Message)
+ */
public long getUID(Message arg0) throws MessagingException {
return ((UIDFolder)folder).getUID(arg0);
}
-
-
-
-
}
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderMailRepository.java?view=diff&rev=449235&r1=449234&r2=449235
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderMailRepository.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderMailRepository.java Sat Sep 23 06:31:04 2006
@@ -102,11 +102,7 @@
/**
- * Stores a message in this repository.
- *
- * @param mc
- * the mail message to store
- * @throws MessagingException
+ * @see org.apache.james.services.MailRepository#store(org.apache.mailet.Mail)
*/
public void store(Mail mc) throws MessagingException {
@@ -157,7 +153,8 @@
/**
* lazy loads UidToKeyBidiMap
- * @return
+ *
+ * @return uidToKeyBidiMap the UidToKeyBidiMap
*/
protected UidToKeyBidiMap getUidToKeyBidiMap() {
if (uidToKeyBidiMap == null) {
@@ -169,7 +166,7 @@
/**
* Used for testing
*
- * @param uidToKeyBidiMap
+ * @param uidToKeyBidiMap the UidToKeyBidMap
*/
void setUidToKeyBidiMap(UidToKeyBidiMap uidToKeyBidiMap) {
this.uidToKeyBidiMap = uidToKeyBidiMap;
@@ -179,12 +176,8 @@
* Retrieves a message given a key. At the moment, keys can be obtained from
* list() in superinterface Store.Repository
*
- * @param key
- * the key of the message to retrieve
- * @return the mail corresponding to this key, null if none exists
- * @throws MessagingException
+ * @see org.apache.james.services.MailRepository#retrieve(String)
*/
-
public Mail retrieve(String key) throws MessagingException {
log.debug("UIDPlusFolder retrieve " + key);
try {
@@ -202,10 +195,7 @@
}
/**
- * Removes a message identified by key.
- *
- * @param key
- * the key of the message to be removed from the repository
+ * @see org.apache.james.services.MailRepository#remove(java.lang.String)
*/
public void remove(String key) throws MessagingException {
@@ -230,12 +220,7 @@
}
/**
- * List string keys of messages in repository.
- *
- * @return an <code>Iterator</code> over the list of keys in the
- * repository
- * @throws MessagingException
- *
+ * @see org.apache.james.services.MailRepository#list()
*/
public Iterator list() throws MessagingException {
log.debug("UIDPlusFolder list");
@@ -304,7 +289,6 @@
*
* maybe it could be replaced by BidiMap from commons-collections 3.0+
*
- * @author Joachim Draeger <jd at joachim-draeger.de>
*/
private class UidToKeyBidiMapImpl implements UidToKeyBidiMap {
@@ -317,12 +301,18 @@
uidToKey = new HashMap();
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.UidToKeyBidiMap#getKeys()
+ */
public synchronized String[] getKeys() {
final ArrayList al = new ArrayList(keyToUid.keySet());
final String[] keys = (String[]) al.toArray(new String[0]);
return keys;
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.UidToKeyBidiMap#retainAllListedAndAddedByKeys(java.lang.String[], java.util.Collection)
+ */
public synchronized void retainAllListedAndAddedByKeys(
final String[] before, final Collection listed) {
Collection added = new HashSet(keyToUid.keySet());
@@ -333,6 +323,9 @@
uidToKey.keySet().retainAll(keyToUid.values());
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.UidToKeyBidiMap#removeByKey(java.lang.String)
+ */
public synchronized void removeByKey(String key) {
long uid = getByKey(key);
if (uid > -1) {
@@ -341,6 +334,9 @@
keyToUid.remove(key);
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.UidToKeyBidiMap#getByKey(java.lang.String)
+ */
public synchronized long getByKey(String key) {
Long lo = (Long) keyToUid.get(key);
long l = -1;
@@ -350,15 +346,24 @@
return l;
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.UidToKeyBidiMap#getByUid(long)
+ */
public synchronized String getByUid(long uid) {
return (String) uidToKey.get(new Long(uid));
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.UidToKeyBidiMap#containsKey(java.lang.String)
+ */
public synchronized boolean containsKey(String key) {
return keyToUid.containsKey(key);
}
+ /**
+ * @see org.apache.james.mailrepository.javamail.UidToKeyBidiMap#put(java.lang.String, long)
+ */
public synchronized void put(String key, long uid) {
keyToUid.put(key, new Long(uid));
uidToKey.put(new Long(uid), key);
@@ -369,7 +374,7 @@
/**
* returns a UIDPlusFolderAdapter wrapper
*
- * @see UIDPlusFolderAdapter
+ * @see org.apache.james.Mailrepository.javamail.UIDPlusFolderAdapter
*/
protected FolderInterface createAdapter(Folder folder) throws NoSuchMethodException {
return new UIDPlusFolderAdapter(folder);
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UidToKeyBidiMap.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UidToKeyBidiMap.java?view=diff&rev=449235&r1=449234&r2=449235
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UidToKeyBidiMap.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UidToKeyBidiMap.java Sat Sep 23 06:31:04 2006
@@ -27,21 +27,59 @@
* Used to map uids to keys and keys to uids
*
*/
-
public interface UidToKeyBidiMap {
+ /**
+ * Return true if an uid is stored under the given key
+ *
+ * @param key the key
+ * @return true if an uid is stored under the given key
+ */
boolean containsKey(String key);
+ /**
+ * Store the given uid with the given key
+ *
+ * @param key the key to store the given uid with
+ * @param uid the uid
+ */
void put(String key, long uid);
+ /**
+ * Remove the uid stored under the given key
+ *
+ * @param key the key
+ */
void removeByKey(String key);
+ /**
+ * Return a String[] holding all stored keys
+ *
+ * @return keys a String[] holding all keys
+ */
String[] getKeys();
+ /**
+ * Return the key for the given uid
+ *
+ * @param uid the uid
+ * @return key the key for the given uid
+ */
String getByUid(long uid);
+ /**
+ *
+ * @param keysBefore
+ * @param keys
+ */
void retainAllListedAndAddedByKeys(String[] keysBefore, Collection keys);
+ /**
+ * Get uid for the given key
+ *
+ * @param the key
+ * @return uid the uid for the given key
+ */
long getByKey(String key);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org