Interface FolderDelegate<T extends MessageDelegate>

    • Method Detail

      • getFolderName

        String getFolderName()
        Returns:
        Returns the name.
      • getFullName

        String getFullName()
        Returns:
        the full name of the folder.
      • getParent

        FolderDelegate<T> getParent()
        Returns:
        the parent folder delegate of this delegate.
      • exists

        boolean exists()
        Indicates whether the folder represented by this delegate exists.
        Returns:
        true if the folder exists, otherwise false
      • getType

        int getType()
        Returns:
        the type of folder this delegate represents.
        See Also:
        Folder.HOLDS_FOLDERS, Folder.HOLDS_MESSAGES
      • list

        FolderDelegate<T>[] list​(String pattern)
        Returns a list of child folder delegates matching the specified pattern.
        Parameters:
        pattern - a pattern to match folders against
        Returns:
        a list of folder delegates
      • getSeparator

        char getSeparator()
        Returns:
        the folder separator for this delegate type.
      • create

        boolean create​(int type)
                throws javax.mail.MessagingException
        Initialise the delegate based on the specified folder type.
        Parameters:
        type - a folder type
        Returns:
        true if the delegate is created, otherwise false
        Throws:
        javax.mail.MessagingException - where an unexpected error occurs creating the delegate
      • getFolder

        FolderDelegate<T> getFolder​(String name)
                             throws javax.mail.MessagingException
        Returns a child folder delegate with the specified name.
        Parameters:
        name - a folder name
        Returns:
        the folder delegate with the specified name, or null if the folder doesn't exist
        Throws:
        javax.mail.MessagingException - where an unexpected error occurs retrieving the folder
      • delete

        boolean delete()
        Delete the folder delegate.
        Returns:
        true if the delegate is deleted, otherwise false
      • renameTo

        boolean renameTo​(String name)
        Rename the folder delegate.
        Parameters:
        name - the new folder name
        Returns:
        true if the folder is renamed, otherwise false
      • open

        void open​(int mode)
        Open the folder delegate.
        Parameters:
        mode - the mode to open the folder
        See Also:
        Folder.READ_ONLY, Folder.READ_WRITE
      • close

        void close()
            throws javax.mail.MessagingException
        Close the folder delegate.
        Throws:
        javax.mail.MessagingException - where an unexpected error occurs closing the folder
      • getMessageCount

        int getMessageCount()
                     throws javax.mail.MessagingException
        Returns the number of messages in the folder delegate.
        Returns:
        the total message count
        Throws:
        javax.mail.MessagingException - where an unexpected error occurs retrieving the message count
      • getDeletedMessageCount

        int getDeletedMessageCount()
                            throws javax.mail.MessagingException,
                                   UnsupportedOperationException
        Optional support for more efficient implementation.
        Returns:
        the total deleted message count
        Throws:
        javax.mail.MessagingException - where an unexpected error occurs
        UnsupportedOperationException - if this method is not supported by the folder implementation
      • getMessageAsStream

        InputStream getMessageAsStream​(int index)
                                throws IOException
        Returns an input stream from which to read the specified message.
        Parameters:
        index - the index of the message to return
        Returns:
        an input stream for the specified message
        Throws:
        IOException - where an error occurs
      • appendMessages

        void appendMessages​(javax.mail.Message[] messages)
                     throws javax.mail.MessagingException
        Append the specified messages to this delegate.
        Parameters:
        messages - an array of messages to append to the folder
        Throws:
        javax.mail.MessagingException - where an error occurs appending the messages
      • expunge

        void expunge​(javax.mail.Message[] deleted)
              throws javax.mail.MessagingException
        Permanently delete the specified messages from this delegate.
        Parameters:
        deleted - an array of deleted messages to expunge
        Throws:
        javax.mail.MessagingException - where an error occurs expunging the messages
      • getMessage

        T getMessage​(int messageNumber)
              throws DelegateException
        Returns message delegate corresponding to the specified message id. If no delegate exists a new Message delegate is created.
        Parameters:
        messageNumber - the message number of the message to retrieve
        Returns:
        the message with the specified message number, or null if the messages doesn't exist
        Throws:
        DelegateException - where an error occurs retrieving the message
      • getUidValidity

        long getUidValidity()
                     throws UnsupportedOperationException,
                            javax.mail.MessagingException
        Returns the UID validity associated with the metadata. If no UID validity exist a new value is initialised.
        Returns:
        a long representation of the UID validity
        Throws:
        UnsupportedOperationException - if this method is not supported by the folder implementation
        javax.mail.MessagingException - if an error occurs retrieving the validity value