javax.mail
Папка класса

java.lang.Object
  расширенный javax.mail.Folder

public abstract class Folder
расширяет java.lang. Объект

Папкой является абстрактный class, который представляет папку для почтовых сообщений. Подклассы реализуют протокол определенные Папки.

Папки могут содержать сообщения, другие Папки, или оба, таким образом обеспечивая древовидную иерархию базировались в папке значения по умолчанию Хранилища. (Отметьте, что некоторые реализации Папки, возможно, не позволяют оба сообщения и другие Папки в той же самой Папке).

Интерпретация имен папок является зависящей от реализации. Разные уровни иерархии в полном имени папки разделяются друг от друга символом-разделителем иерархии.

Нечувствительное к регистру полное имя папки (то есть, полное имя относительно папки значения по умолчанию для Хранилища) ЯЩИК ДЛЯ ПРИЕМА СООБЩЕНИЙ резервируется, чтобы означать "основную папку для этого пользователя на этом сервере". Не все Хранилища обеспечат папку ЯЩИКА ДЛЯ ПРИЕМА СООБЩЕНИЙ, и не все пользователи будет иметь папку ЯЩИКА ДЛЯ ПРИЕМА СООБЩЕНИЙ всегда. ЯЩИК ДЛЯ ПРИЕМА СООБЩЕНИЙ имени резервируется, чтобы обратиться к этой папке, когда это существует в Хранилищах, которые обеспечивают это.

Объект Папки, полученный из Хранилища, не должен фактически существовать в хранилище бэкэнда. exists метод тестирует, существует ли папка или нет. create метод создает Папку.

Папка находится первоначально в закрытом состоянии. Определенные методы допустимы в этом состоянии; документация для тех методов отмечает это. Папка открывается, вызывая ее 'открытый' метод. Все методы Folder, кроме open, delete и renameTo, допустимы в этом состоянии.

Единственный способ получить Папку, вызывая getFolder метод на Хранилище, Папке, или Сеансе, или вызывая list или listSubscribed методы на Папке. Объекты папки, возвращенные вышеупомянутыми методами, не кэшируются Хранилищем. Таким образом, вызов getFolder метод с тем же самым именем папки многократно возвратит отличные объекты Папки. Аналогично для list и listSubscribed методы.

Объекты сообщения в пределах Папки кэшируются Папкой. Таким образом, вызов getMessage(msgno) на том же самом номере сообщения многократно возвратит тот же самый объект сообщения, пока вычеркивание не делается на этой Папке.

Объекты сообщения от Папки только допустимы, в то время как Папка открыта и не должна быть получена доступ после того, как Папка закрывается, даже если Папка впоследствии вновь открывается. Вместо этого новые объекты сообщения должны быть выбраны от Папки после того, как Папка вновь открывается.

Отметьте, что номер сообщения сообщения может измениться в пределах сеанса, если содержание Папки вычеркивается, используя вычеркивать метод. Клиенты, которые используют номера сообщения в качестве ссылок на сообщения, должны знать об этом и должны быть подготовлены иметь дело с ситуацией (вероятно, спугивая существующие ссылки номера сообщения и перезагружая их). Из-за этой сложности для клиентов лучше использовать объекты сообщения в качестве ссылок на сообщения, а не номеров сообщения. Вычеркнутые объекты сообщения все еще должны быть сокращены, но на другие объекты сообщения в той папке не влияет вычеркивание.

Автор:
Джон Мани, Билл Шеннон

Полевая Сводка
static int HOLDS_FOLDERS
          Эта папка может содержать другие папки
static int HOLDS_MESSAGES
          Эта папка может содержать сообщения
protected  int режим
          Открытый режим этой папки.
static int READ_ONLY
          Папка только для чтения.
static int READ_WRITE
          Состояние и содержание этой папки могут быть изменены.
protected  Store хранилище
          Родительское хранилище.
 
Сводка конструктора
protected Folder(Store store)
          Конструктор, который берет объект Хранилища.
 
Сводка метода
 void addConnectionListener(ConnectionListener l)
          Добавьте слушателя для событий Connection на этой Папке.
 void addFolderListener(FolderListener l)
          Добавьте слушателя для событий Folder на этой Папке.
 void addMessageChangedListener(MessageChangedListener l)
          Добавьте слушателя для событий MessageChanged на этой Папке.
 void addMessageCountListener(MessageCountListener l)
          Добавьте слушателя для событий MessageCount на этой Папке.
abstract  void appendMessages(Message[] msgs)
          Добавьте данные сообщения к этой папке.
abstract  void close(boolean expunge)
          Закройте эту Папку.
 void copyMessages(Message[] msgs, Folder folder)
          Скопируйте указанные сообщения с этой Папки в другую Папку.
abstract  boolean create(int type)
          Создайте эту папку на Хранилище.
abstract  boolean delete(boolean recurse)
          Удалите эту Папку.
abstract  boolean exists()
          Тесты, если эта папка физически существует на Хранилище.
abstract  Message[] expunge()
          Вычеркните (постоянно удаляют), сообщения, отмеченные УДАЛЕННЫЙ.
 void fetch(Message[] msgs, FetchProfile fp)
          Выберите с упреждением элементы, определенные в FetchProfile для данных сообщений.
protected  void finalize()
           
 int getDeletedMessageCount()
          Получите число удаленных сообщений в этой Папке.
abstract  Folder getFolder(java.lang.String name)
          Возвратите соответствие объекта Папки имени.
abstract  java.lang.String getFullName()
          Возвращает полное имя этой Папки.
abstract  Message getMessage(int msgnum)
          Получите соответствие объекта сообщения данному номеру сообщения.
abstract  int getMessageCount()
          Получите общее количество сообщений в этой Папке.
 Сообщение[] getMessages()
          Получите все объекты сообщения от этой Папки.
 Сообщение[] getMessages(int[] msgnums)
          Получите объекты сообщения для номеров сообщения, определенных в массиве.
 Сообщение[] getMessages(int start, int end)
          Получите объекты сообщения для номеров сообщения в пределах от запуска через конец, оба запускаются и заканчиваются включительно.
 int getMode()
          Возвратите открытый режим этой папки.
abstract  java.lang.String getName()
          Возвращает имя этой Папки.
 int getNewMessageCount()
          Получите число новых сообщений в этой Папке.
abstract  Folder getParent()
          Возвращает родительскую папку этой папки.
abstract  Flags getPermanentFlags()
          Поддерживайте постоянные флаги этой Папкой.
abstract  char getSeparator()
          Возвратите символ-разделитель, который разделяет путь этой Папки от имен непосредственных подпапок.
 Хранилище getStore()
          Возвращает Хранилище, которому принадлежит этот объект Папки.
abstract  int getType()
          Возвращает тип этой Папки, то есть, может ли эта папка содержать сообщения или подпапки или обоих.
 int getUnreadMessageCount()
          Получите общее количество непрочитанных сообщений в этой Папке.
 URLName getURLName()
          Возвратите URLName, представляющий эту папку.
abstract  boolean hasNewMessages()
          Возвращает true, если у этой Папки есть новые сообщения с прошлого раза, когда эта индикация была сброшена.
abstract  boolean isOpen()
          Указывает, является ли эта Папка в 'открытом' состоянии.
 boolean isSubscribed()
          Возвращает true, если эта Папка подписывается.
 Папка[] list()
          Метод удобства, который возвращает список папок под этой Папкой.
abstract  Folder[] list(java.lang.String pattern)
          Возвращает список Папок, принадлежащих пространству имен этой Папки, которые соответствуют указанный образец.
 Папка[] listSubscribed()
          Метод удобства, который возвращает список подписанных папок под этой Папкой.
 Папка[] listSubscribed(java.lang.String pattern)
          Возвращает список подписанных Папок, принадлежащих пространству имен этой Папки, которые соответствуют указанный образец.
protected  void notifyConnectionListeners(int type)
          Уведомьте весь ConnectionListeners.
protected  void notifyFolderListeners(int type)
          Уведомьте весь FolderListeners, зарегистрированный относительно этой Папки и Хранилища этой папки.
protected  void notifyFolderRenamedListeners(Folder folder)
          Уведомьте весь FolderListeners, зарегистрированный относительно этой Папки и Хранилища этой папки о переименовании этой папки.
protected  void notifyMessageAddedListeners(Message[] msgs)
          Уведомьте весь MessageCountListeners о добавлении сообщений в эту папку.
protected  void notifyMessageChangedListeners(int type, Message msg)
          Уведомьте весь MessageChangedListeners.
protected  void notifyMessageRemovedListeners(boolean removed, Message[] msgs)
          Уведомьте весь MessageCountListeners об удалении сообщений от этой Папки.
abstract  void open(int mode)
          Откройте эту Папку.
 void removeConnectionListener(ConnectionListener l)
          Удалите слушателя события Connection.
 void removeFolderListener(FolderListener l)
          Удалите слушателя события Folder.
 void removeMessageChangedListener(MessageChangedListener l)
          Удалите слушателя MessageChanged.
 void removeMessageCountListener(MessageCountListener l)
          Удалите слушателя MessageCount.
abstract  boolean renameTo(Folder f)
          Переименуйте эту Папку.
 Сообщение[] search(SearchTerm term)
          Ищите эту Папку сообщения, соответствующие указанный критерий поиска.
 Сообщение[] search(SearchTerm term, Message[] msgs)
          Ищите данный массив сообщений для тех, которые соответствуют указанный критерий поиска.
 void setFlags(int[] msgnums, Flags flag, boolean value)
          Установите указанные флаги на сообщениях, номера сообщения которых находятся в массиве.
 void setFlags(int start, int end, Flags flag, boolean value)
          Установите указанные флаги на сообщениях, пронумерованных от запуска до конца, оба запускаются и заканчиваются включительно.
 void setFlags(Message[] msgs, Flags flag, boolean value)
          Установите указанные флаги на сообщениях, определенных в массиве.
 void setSubscribed(boolean subscribe)
          Подпишите или отпишите эту Папку.
 java.lang.String toString()
          переопределите значение по умолчанию toString (), оно возвратит Строку из Folder.getFullName () или если это будет нулем, то оно будет использовать значение по умолчанию toString () поведение.
 
Методы, наследованные от class java.lang. Объект
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Полевая Деталь

хранилище

protected Store store
Родительское хранилище.


режим

protected int mode
Открытый режим этой папки. Открытый режим Folder.READ_ONLY, Folder.READ_WRITE, или-1, если не известный.

С тех пор:
JavaMail 1.1

HOLDS_MESSAGES

public static final int HOLDS_MESSAGES
Эта папка может содержать сообщения

См. Также:
Постоянные Значения полей

HOLDS_FOLDERS

public static final int HOLDS_FOLDERS
Эта папка может содержать другие папки

См. Также:
Постоянные Значения полей

READ_ONLY

public static final int READ_ONLY
Папка только для чтения. Состояние и содержание этой папки не могут быть изменены.

См. Также:
Постоянные Значения полей

READ_WRITE

public static final int READ_WRITE
Состояние и содержание этой папки могут быть изменены.

См. Также:
Постоянные Значения полей
Деталь конструктора

Папка

protected Folder(Store store)
Конструктор, который берет объект Хранилища.

Параметры:
store - Хранилище, которое содержит эту папку
Деталь метода

getName

public abstract java.lang.String getName()
Возвращает имя этой Папки.

Этот метод может быть вызван на закрытую Папку.

Возвраты:
имя Папки

getFullName

public abstract java.lang.String getFullName()
Возвращает полное имя этой Папки. Если папка находится под корневой иерархией этого Хранилища, возвращенное имя относительно корня. Иначе абсолютное имя, запускающееся с разделителя иерархии, возвращается.

Этот метод может быть вызван на закрытую Папку.

Возвраты:
полное имя Папки

getURLName

public URLName getURLName()
                   throws MessagingException
Возвратите URLName, представляющий эту папку. Возвращенный URLName не включает пароль, используемый, чтобы получить доступ к хранилищу.

Возвраты:
URLName, представляющий эту папку
Броски:
MessagingException
С тех пор:
JavaMail 1.1
См. Также:
URLName

getStore

public Store getStore()
Возвращает Хранилище, которому принадлежит этот объект Папки. Этот метод может быть вызван на закрытую Папку.

Возвраты:
Хранилище

getParent

public abstract Folder getParent()
                          throws MessagingException
Возвращает родительскую папку этой папки. Этот метод может быть вызван на закрытую Папку. Если эта папка является вершиной иерархии папок, этого нуля возвратов метода.

Отметьте, что, так как объекты Папки не кэшируются, вызывая этот метод возвращает новый отличный объект Папки.

Возвраты:
Родительская папка
Броски:
MessagingException

существует

public abstract boolean exists()
                        throws MessagingException
Тесты, если эта папка физически существует на Хранилище. Этот метод может быть вызван на закрытую Папку.

Возвраты:
истина, если папка существует, иначе ложь
Броски:
MessagingException - обычно, если соединение с сервером теряется.
См. Также:
create(int)

список

public abstract Folder[] list(java.lang.String pattern)
                       throws MessagingException
Возвращает список Папок, принадлежащих пространству имен этой Папки, которые соответствуют указанный образец. Образцы могут содержать подстановочные символы "%", который соответствует любой символ кроме разделителей иерархии, и "*", который соответствует любой символ.

Как пример, учитывая иерархию папок:

    Personal/
       Finance/
          Stocks
          Bonus
          StockOptions
       Jokes
 
list("*") на "Персональном" возвратит целую иерархию.
list("%") на "Персональном" возвратит "Финансы" и "Шутки".
list("Jokes") на "Персональном" возвратит "Шутки".
list("Stock*") на "Финансах" возвратит "Запасы" и "StockOptions".

Объекты папки не кэшируются Хранилищем, таким образом вызывая этот метод на тот же самый образец многократно возвратит это много отличных объектов Папки.

Этот метод может быть вызван на закрытую Папку.

Параметры:
pattern - образец соответствия
Возвраты:
массив соответствия объектов Папки. Пустой массив возвращается, если никакие Папки соответствия не существуют.
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException
См. Также:
listSubscribed(java.lang.String)

listSubscribed

public Folder[] listSubscribed(java.lang.String pattern)
                        throws MessagingException
Возвращает список подписанных Папок, принадлежащих пространству имен этой Папки, которые соответствуют указанный образец. Если папка не поддерживает подписку, этот метод должен решить к list. (Реализация по умолчанию, обеспеченная здесь, делает только это). Образец может содержать подстановочные знаки что касается list.

Отметьте, что на данном уровне иерархии папок определенная папка не может быть подписана, но папки под той папкой в иерархии папок могут быть подписаны. Чтобы позволить обходить иерархию папок, такие отписанные папки могут быть возвращены, указывая, что папка ниже в иерархии подписывается. isSubscribed метод на папке скажет, подписывается ли какая-либо определенная папка фактически.

Объекты папки не кэшируются Хранилищем, таким образом вызывая этот метод на тот же самый образец многократно возвратит это много отличных объектов Папки.

Этот метод может быть вызван на закрытую Папку.

Параметры:
pattern - образец соответствия
Возвраты:
массив соответствия подписанных объектов Папки. Пустой массив возвращается, если никакое соответствие подписанные папки не существует.
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException
См. Также:
list(java.lang.String)

список

public Folder[] list()
              throws MessagingException
Метод удобства, который возвращает список папок под этой Папкой. Этот метод только вызывает list(String pattern) метод с "%" как образец соответствия. Этот метод может быть вызван на закрытую Папку.

Возвраты:
массив Папки возражает под этой Папкой. Пустой массив возвращается, если никакие подпапки не существуют.
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException
См. Также:
list(java.lang.String)

listSubscribed

public Folder[] listSubscribed()
                        throws MessagingException
Метод удобства, который возвращает список подписанных папок под этой Папкой. Этот метод только вызывает listSubscribed(String pattern) метод с "%" как образец соответствия. Этот метод может быть вызван на закрытую Папку.

Возвраты:
массив подписанной Папки возражает под этой Папкой. Пустой массив возвращается, если никакие подписанные подпапки не существуют.
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException
См. Также:
listSubscribed(java.lang.String)

getSeparator

public abstract char getSeparator()
                           throws MessagingException
Возвратите символ-разделитель, который разделяет путь этой Папки от имен непосредственных подпапок. Этот метод может быть вызван на закрытую Папку.

Возвраты:
Символ разделителя иерархии
Броски:
FolderNotFoundException - если реализация требует, чтобы папка существовала, но это не делает
MessagingException

getType

public abstract int getType()
                     throws MessagingException
Возвращает тип этой Папки, то есть, может ли эта папка содержать сообщения или подпапки или обоих. Возвращенное значение является целочисленным битовым полем с соответствующим набором битов. Этот метод может быть вызван на закрытую папку.

Возвраты:
целое число с соответствующими битами устанавливается
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException
См. Также:
HOLDS_FOLDERS, HOLDS_MESSAGES

создать

public abstract boolean create(int type)
                        throws MessagingException
Создайте эту папку на Хранилище. Когда эта папка создается, любые папки в ее пути, которые не существуют, также создаются.

Если создание успешно, СОЗДАВАЕМЫЙ FolderEvent поставляют любому FolderListeners, зарегистрированному на этой Папке и этом Хранилище.

Параметры:
type - Тип этой папки.
Возвраты:
истина, если создание успешно выполняется, еще ложь.
Броски:
MessagingException
См. Также:
HOLDS_FOLDERS, HOLDS_MESSAGES, FolderEvent

isSubscribed

public boolean isSubscribed()
Возвращает true, если эта Папка подписывается.

Этот метод может быть вызван на закрытую Папку.

Реализация по умолчанию, обеспеченная здесь только, возвращает true.

Возвраты:
истина, если эта Папка подписывается

setSubscribed

public void setSubscribed(boolean subscribe)
                   throws MessagingException
Подпишите или отпишите эту Папку. Не все Хранилища поддерживают подписку.

Этот метод может быть вызван на закрытую Папку.

Реализация, обеспеченная здесь только, бросает MethodNotSupportedException.

Параметры:
subscribe - истина, чтобы подписаться, ложь, чтобы отписаться
Броски:
FolderNotFoundException - если эта папка не существует.
MethodNotSupportedException - если это хранилище не поддерживает подписку
MessagingException

hasNewMessages

public abstract boolean hasNewMessages()
                                throws MessagingException
Возвращает true, если у этой Папки есть новые сообщения с прошлого раза, когда эта индикация была сброшена. То, когда эта индикация устанавливается или сбрасывается, зависит от реализации Папки (и в случае IMAP, зависит от сервера). Этот метод может использоваться, чтобы реализовать легкую "проверку на новую почтовую" работу на Папке, не открывая это. (Например, поток, который контролирует почтовый ящик и отмечает, когда у этого есть новая почта.) Этот метод должен указать, имеют ли какие-либо сообщения в Папке RECENT флаг устанавливается.

Отметьте, что это не инкрементная проверка на новую почту, то есть, она не может использоваться, чтобы определить, прибыли ли какие-либо новые сообщения с прошлого раза был вызван этот метод. Чтобы реализовать инкрементные проверки, Папка должна быть открыта.

Этот метод может быть вызван на закрытую Папку, которая может содержать сообщения.

Возвраты:
истина, если у Хранилища есть новые сообщения
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException

getFolder

public abstract Folder getFolder(java.lang.String name)
                          throws MessagingException
Возвратите соответствие объекта Папки имени. Отметьте, что эта папка не должна физически существовать в Хранилище. exists() метод на Папке указывает, существует ли он действительно на Хранилище.

В некоторых Хранилищах имя может быть абсолютным путем, если оно запускается с разделителя иерархии. Иначе, это интерпретируется относительно этой Папки.

Объекты папки не кэшируются Хранилищем, таким образом вызывая этот метод на то же самое имя многократно возвратит это много отличных объектов Папки.

Этот метод может быть вызван на закрытую Папку.

Параметры:
name - имя Папки
Возвраты:
Объект папки
Броски:
MessagingException

удалить

public abstract boolean delete(boolean recurse)
                        throws MessagingException
Удалите эту Папку. Этот метод успешно выполнится только на закрытой Папке.

recurse отметьте средства управления, влияет ли удаление на подпапки или нет. Если это правда, все подпапки удаляются, тогда эта сама папка удаляется. Если ложь, поведение зависит от типа папки и разрабатывается ниже:

Возвраты:
истина, если Папка удаляется успешно
Броски:
FolderNotFoundException - если эта папка не существует
IllegalStateException - если эта папка не находится в закрытом состоянии.
MessagingException
См. Также:
FolderEvent

renameTo

public abstract boolean renameTo(Folder f)
                          throws MessagingException
Переименуйте эту Папку. Этот метод успешно выполнится только на закрытой Папке.

Если переименовывание успешно, ПЕРЕИМЕНОВАННЫЙ FolderEvent поставляют FolderListeners, зарегистрированному на этой папке и ее содержании Хранилища.

Параметры:
f - папка, представляющая новое имя для этой Папки
Возвраты:
истина, если Папка переименовывается успешно
Броски:
FolderNotFoundException - если эта папка не существует
IllegalStateException - если эта папка не находится в закрытом состоянии.
MessagingException
См. Также:
FolderEvent

открытый

public abstract void open(int mode)
                   throws MessagingException
Откройте эту Папку. Этот метод допустим только на Папках, которые могут содержать сообщения и которые закрываются.

Если эта папка открывается успешно, ОТКРЫТЫЙ ConnectionEvent поставляют любому ConnectionListeners, зарегистрированному на этой Папке.

Эффект открытия многократных соединений с той же самой папкой на Хранилище specifc является зависящим от реализации. Некоторые реализации позволяют многократным читателям, но только одному писателю. Другие позволяют многократным писателям так же как читателям.

Параметры:
mode - откройте Папку READ_ONLY или READ_WRITE
Броски:
FolderNotFoundException - если эта папка не существует.
IllegalStateException - если эта папка не находится в закрытом состоянии.
MessagingException
См. Также:
READ_ONLY, READ_WRITE, getType(), ConnectionEvent

близко

public abstract void close(boolean expunge)
                    throws MessagingException
Закройте эту Папку. Этот метод допустим только на открытых Папках.

ЗАКРЫТЫЙ ConnectionEvent поставляют любому ConnectionListeners, зарегистрированному на этой Папке. Отметьте, что папка закрывается, даже если этот метод завершается неправильно, бросая MessagingException.

Параметры:
expunge - вычеркивает все удаленные сообщения, если этот флаг является истиной
Броски:
IllegalStateException - если эта папка не открывается
MessagingException
См. Также:
ConnectionEvent

isOpen

public abstract boolean isOpen()
Указывает, является ли эта Папка в 'открытом' состоянии.

Возвраты:
истина, если эта Папка находится в 'открытом' состоянии.

getMode

public int getMode()
Возвратите открытый режим этой папки. Возвраты Folder.READ_ONLY, Folder.READ_WRITE, или-1, если открытый режим не известен (обычно только потому, что более старое Folder провайдер не был обновлен, чтобы использовать этот новый метод).

Возвраты:
открытый режим этой папки
Броски:
IllegalStateException - если эта папка не открывается
С тех пор:
JavaMail 1.1

getPermanentFlags

public abstract Flags getPermanentFlags()
Поддерживайте постоянные флаги этой Папкой. Возвращает объект Флагов, который содержит все поддерживаемые флаги.

Специальный флаг Flags.Flag.USER указывает, что эта Папка поддерживает произвольные определяемые пользователем флаги.

Поддерживаемые постоянные флаги для папки, возможно, не доступны, пока папка не открывается.

Возвраты:
постоянные флаги, или нуль, если не известный

getMessageCount

public abstract int getMessageCount()
                             throws MessagingException
Получите общее количество сообщений в этой Папке.

Этот метод может быть вызван на закрытую папку. Однако, отметьте, что для некоторых реализаций папки, получая полное количество сообщения может быть дорогая работа, включающая фактически открытие папки. В таких случаях провайдер может хотеть не поддерживать эту функциональность в закрытом состоянии, когда этот метод должен возвратиться-1.

Клиенты, вызывающие этот метод на закрытую папку, должны знать, что это - потенциально дорогая работа. Клиенты должны также быть подготовлены обработать возвращаемое значение-1 в этом случае.

Возвраты:
общее количество сообщений.-1 может быть возвращен определенными реализациями, если этот метод вызывается на закрытую папку.
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException

getNewMessageCount

public int getNewMessageCount()
                       throws MessagingException
Получите число новых сообщений в этой Папке.

Этот метод может быть вызван на закрытую папку. Однако, отметьте, что для некоторых реализаций папки, получая новое количество сообщения может быть дорогая работа, включающая фактически открытие папки. В таких случаях провайдер может хотеть не поддерживать эту функциональность в закрытом состоянии, когда этот метод должен возвратиться-1.

Клиенты, вызывающие этот метод на закрытую папку, должны знать, что это - потенциально дорогая работа. Клиенты должны также быть подготовлены обработать возвращаемое значение-1 в этом случае.

Эта реализация возвращается-1, если эта папка закрывается. Еще эта реализация получает каждое сообщение в использовании папки getMessage(int) и проверки, ли RECENT флаг устанавливается. Общее количество сообщений, у которых есть этот набор флага, возвращается.

Возвраты:
число новых сообщений.-1 может быть возвращен определенными реализациями, если этот метод вызывается на закрытую папку.
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException

getUnreadMessageCount

public int getUnreadMessageCount()
                          throws MessagingException
Получите общее количество непрочитанных сообщений в этой Папке.

Этот метод может быть вызван на закрытую папку. Однако, отметьте, что для некоторых реализаций папки, получая непрочитанное количество сообщения может быть дорогая работа, включающая фактически открытие папки. В таких случаях провайдер может хотеть не поддерживать эту функциональность в закрытом состоянии, когда этот метод должен возвратиться-1.

Клиенты, вызывающие этот метод на закрытую папку, должны знать, что это - потенциально дорогая работа. Клиенты должны также быть подготовлены обработать возвращаемое значение-1 в этом случае.

Эта реализация возвращается-1, если эта папка закрывается. Еще эта реализация получает каждое сообщение в использовании папки getMessage(int) и проверки, ли SEEN флаг устанавливается. Общее количество сообщений, у которых нет этого набора флага, возвращается.

Возвраты:
общее количество непрочитанных сообщений.-1 может быть возвращен определенными реализациями, если этот метод вызывается на закрытую папку.
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException

getDeletedMessageCount

public int getDeletedMessageCount()
                           throws MessagingException
Получите число удаленных сообщений в этой Папке.

Этот метод может быть вызван на закрытую папку. Однако, отметьте, что для некоторых реализаций папки, получая удаленное количество сообщения может быть дорогая работа, включающая фактически открытие папки. В таких случаях провайдер может хотеть не поддерживать эту функциональность в закрытом состоянии, когда этот метод должен возвратиться-1.

Клиенты, вызывающие этот метод на закрытую папку, должны знать, что это - потенциально дорогая работа. Клиенты должны также быть подготовлены обработать возвращаемое значение-1 в этом случае.

Эта реализация возвращается-1, если эта папка закрывается. Еще эта реализация получает каждое сообщение в использовании папки getMessage(int) и проверки, ли DELETED флаг устанавливается. Общее количество сообщений, у которых есть этот набор флага, возвращается.

Возвраты:
число удаленных сообщений.-1 может быть возвращен определенными реализациями, если этот метод вызывается на закрытую папку.
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException
С тех пор:
JavaMail 1.3

getMessage

public abstract Message getMessage(int msgnum)
                            throws MessagingException
Получите соответствие объекта сообщения данному номеру сообщения. Номер сообщения объекта сообщения является относительной позицией этого сообщения в его Папке. Сообщения нумеруются, запускаясь в 1 через общее количество сообщения в папке. Отметьте, что номер сообщения для определенного сообщения может измениться во время сеанса, если другие сообщения в Папке удаляются, и Папка вычеркивается.

Объекты сообщения являются легкими ссылками на фактическое сообщение, которое заполняется по требованию. Следовательно реализации Папки, как ожидают, обеспечат легкие объекты сообщения.

В отличие от объектов Папки, повторенные звонки getMessage с тем же самым номером сообщения возвратят тот же самый объект сообщения, пока никакие сообщения в этой папке не были вычеркнуты.

Так как номера сообщения могут измениться в пределах сеанса, если папка вычеркивается, клиентам советуют не использовать номера сообщения в качестве ссылок на сообщения. Используйте объекты сообщения вместо этого.

Параметры:
msgnum - номер сообщения
Возвраты:
объект сообщения
Броски:
FolderNotFoundException - если эта папка не существует.
IllegalStateException - если эта папка не открывается
java.lang.IndexOutOfBoundsException - если номер сообщения испытывает недостаток диапазона.
MessagingException
См. Также:
getMessageCount(), fetch(javax.mail.Message[], javax.mail.FetchProfile)

getMessages

public Message[] getMessages(int start,
                             int end)
                      throws MessagingException
Получите объекты сообщения для номеров сообщения в пределах от запуска через конец, оба запускаются и заканчиваются включительно. Отметьте, что номера сообщения запускаются в 1, не 0.

Объекты сообщения являются легкими ссылками на фактическое сообщение, которое заполняется по требованию. Следовательно реализации Папки, как ожидают, обеспечат легкие объекты сообщения.

Эти getMessage использования реализации (индексируют), чтобы получить необходимые объекты сообщения. Отметьте, что возвращенный массив должен содержать (end-start+1) Объекты сообщения.

Параметры:
start - число первого сообщения
end - число последнего сообщения
Возвраты:
объекты сообщения
Броски:
FolderNotFoundException - если эта папка не существует.
IllegalStateException - если эта папка не открывается.
java.lang.IndexOutOfBoundsException - если запуск или номера сообщения конца испытывают недостаток диапазона.
MessagingException
См. Также:
fetch(javax.mail.Message[], javax.mail.FetchProfile)

getMessages

public Message[] getMessages(int[] msgnums)
                      throws MessagingException
Получите объекты сообщения для номеров сообщения, определенных в массиве.

Объекты сообщения являются легкими ссылками на фактическое сообщение, которое заполняется по требованию. Следовательно реализации Папки, как ожидают, обеспечат легкие объекты сообщения.

Эти getMessage использования реализации (индексируют), чтобы получить необходимые объекты сообщения. Отметьте, что возвращенный массив должен содержать msgnums.length Объекты сообщения

Параметры:
msgnums - массив номеров сообщения
Возвраты:
массив объектов сообщения.
Броски:
FolderNotFoundException - если эта папка не существует.
IllegalStateException - если эта папка не открывается.
java.lang.IndexOutOfBoundsException - если какой-либо номер сообщения в данном массиве испытывает недостаток диапазона.
MessagingException
См. Также:
fetch(javax.mail.Message[], javax.mail.FetchProfile)

getMessages

public Message[] getMessages()
                      throws MessagingException
Получите все объекты сообщения от этой Папки. Возвращает пустой массив, если папка пуста. Клиенты могут использовать объекты сообщения (вместо порядковых номеров) как ссылки на сообщения в пределах папки; этот метод предоставляет объекты сообщения клиенту. Реализации папки, как ожидают, обеспечат легкие объекты сообщения, которые заполняются по требованию.

Эта реализация вызывает getMessageCount() получить текущее количество сообщения и затем использует getMessage() получить объекты сообщения от 1 до количества сообщения.

Возвраты:
массив объектов сообщения, пустой массив, если папка пуста.
Броски:
FolderNotFoundException - если эта папка не существует.
IllegalStateException - если эта папка не открывается.
MessagingException
См. Также:
fetch(javax.mail.Message[], javax.mail.FetchProfile)

appendMessages

public abstract void appendMessages(Message[] msgs)
                             throws MessagingException
Добавьте данные сообщения к этой папке. Этот метод может быть вызван на закрытую Папку. Соответствующий MessageCountEvent поставляют любому MessageCountListener, зарегистрированному на этой папке, когда сообщения прибывают в папку.

Реализации папки не должны прервать эту работу, если сообщение в данном массиве сообщения, оказывается, вычеркнутое сообщение.

Параметры:
msgs - массив сообщений, которые будут добавлены
Броски:
FolderNotFoundException - если эта папка не существует.
MessagingException - если добавление отказавшего.

выборка

public void fetch(Message[] msgs,
                  FetchProfile fp)
           throws MessagingException
Выберите с упреждением элементы, определенные в FetchProfile для данных сообщений.

Клиенты используют этот метод, чтобы указать, что указанные элементы необходимы в массе для данного диапазона сообщения. Реализации, как ожидают, получат эти элементы для данного диапазона сообщения эффективным способом. Отметьте, что этот метод является только подсказкой к реализации, чтобы выбрать требуемые элементы с упреждением.

Примером является клиент, заполняющий его окно представления заголовка Предметом, От и заголовками X-почтовой-программы для всех сообщений в папке.


  Message[] msgs = folder.getMessages();

  FetchProfile fp = new FetchProfile();
  fp.add(FetchProfile.Item.ENVELOPE);
  fp.add("X-mailer");
  folder.fetch(msgs, fp);
  
  for (int i = 0; i < folder.getMessageCount(); i++) {
      display(msg[i].getFrom());
      display(msg[i].getSubject());
      display(msg[i].getHeader("X-mailer"));
  }

 

The implementation provided here just returns without doing anything useful. Providers wanting to provide a real implementation for this method should override this method.

Parameters:
msgs - fetch items for these messages
fp - the FetchProfile
Throws:
IllegalStateException - if this folder is not opened
MessagingException.
MessagingException

setFlags

public void setFlags(Message[] msgs,
                     Flags flag,
                     boolean value)
              throws MessagingException
Set the specified flags on the messages specified in the array. This will result in appropriate MessageChangedEvents being delivered to any MessageChangedListener registered on this Message's containing folder.

Note that the specified Message objects must belong to this folder. Certain Folder implementations can optimize the operation of setting Flags for a group of messages, so clients might want to use this method, rather than invoking Message.setFlags for each Message.

This implementation degenerates to invoking setFlags() on each Message object. Specific Folder implementations that can optimize this case should do so. Also, an implementation must not abort the operation if a Message in the array turns out to be an expunged Message.

Parameters:
msgs - the array of message objects
flag - Flags object containing the flags to be set
value - set the flags to this boolean value
Throws:
IllegalStateException - if this folder is not opened or if it has been opened READ_ONLY.
MessagingException
See Also:
Message#setFlags, MessageChangedEvent

setFlags

public void setFlags(int start,
                     int end,
                     Flags flag,
                     boolean value)
              throws MessagingException
Set the specified flags on the messages numbered from start through end, both start and end inclusive. Note that message numbers start at 1, not 0. This will result in appropriate MessageChangedEvents being delivered to any MessageChangedListener registered on this Message's containing folder.

Certain Folder implementations can optimize the operation of setting Flags for a group of messages, so clients might want to use this method, rather than invoking Message.setFlags for each Message.

The default implementation uses getMessage(int) to get each Message object and then invokes setFlags on that object to set the flags. Specific Folder implementations that can optimize this case should do so. Also, an implementation must not abort the operation if a message number refers to an expunged message.

Parameters:
start - the number of the first message
end - the number of the last message
flag - Flags object containing the flags to be set
value - set the flags to this boolean value
Throws:
IllegalStateException - if this folder is not opened or if it has been opened READ_ONLY.
java.lang.IndexOutOfBoundsException - if the start or end message numbers are out of range.
MessagingException
See Also:
Message#setFlags, MessageChangedEvent

setFlags

public void setFlags(int[] msgnums,
                     Flags flag,
                     boolean value)
              throws MessagingException
Set the specified flags on the messages whose message numbers are in the array. This will result in appropriate MessageChangedEvents being delivered to any MessageChangedListener registered on this Message's containing folder.

Certain Folder implementations can optimize the operation of setting Flags for a group of messages, so clients might want to use this method, rather than invoking Message.setFlags for each Message.

The default implementation uses getMessage(int) to get each Message object and then invokes setFlags on that object to set the flags. Specific Folder implementations that can optimize this case should do so. Also, an implementation must not abort the operation if a message number refers to an expunged message.

Parameters:
msgnums - the array of message numbers
flag - Flags object containing the flags to be set
value - set the flags to this boolean value
Throws:
IllegalStateException - if this folder is not opened or if it has been opened READ_ONLY.
java.lang.IndexOutOfBoundsException - if any message number in the given array is out of range.
MessagingException
See Also:
Message#setFlags, MessageChangedEvent

copyMessages

public void copyMessages(Message[] msgs,
                         Folder folder)
                  throws MessagingException
Copy the specified Messages from this Folder into another Folder. This operation appends these Messages to the destination Folder. The destination Folder does not have to be opened. An appropriate MessageCountEvent is delivered to any MessageCountListener registered on the destination folder when the messages arrive in the folder.

Note that the specified Message objects must belong to this folder. Folder implementations might be able to optimize this method by doing server-side copies.

This implementation just invokes appendMessages() on the destination folder to append the given Messages. Specific folder implementations that support server-side copies should do so, if the destination folder's Store is the same as this folder's Store. Also, an implementation must not abort the operation if a Message in the array turns out to be an expunged Message.

Parameters:
msgs - the array of message objects
folder - the folder to copy the messages to
Throws:
FolderNotFoundException - if the destination folder does not exist.
IllegalStateException - if this folder is not opened.
MessagingException
See Also:
appendMessages(javax.mail.Message[])

expunge

public abstract Message[] expunge()
                           throws MessagingException
Expunge (permanently remove) messages marked DELETED. Returns an array containing the expunged message objects. The getMessageNumber method on each of these message objects returns that Message's original (that is, prior to the expunge) sequence number. A MessageCountEvent containing the expunged messages is delivered to any MessageCountListeners registered on the folder.

Expunge causes the renumbering of Message objects subsequent to the expunged messages. Clients that use message numbers as references to messages should be aware of this and should be prepared to deal with the situation (probably by flushing out existing message number caches and reloading them). Because of this complexity, it is better for clients to use Message objects as references to messages, rather than message numbers. Any expunged Messages objects still have to be pruned, but other Messages in that folder are not affected by the expunge.

After a message is expunged, only the isExpunged and getMessageNumber methods are still valid on the corresponding Message object; other methods may throw MessageRemovedException

Returns:
array of expunged Message objects
Throws:
FolderNotFoundException - if this folder does not exist
IllegalStateException - if this folder is not opened.
MessagingException
See Also:
Message#isExpunged, MessageCountEvent

search

public Message[] search(SearchTerm term)
                 throws MessagingException
Search this Folder for messages matching the specified search criterion. Returns an array containing the matching messages . Returns an empty array if no matches were found.

This implementation invokes search(term, getMessages()), to apply the search over all the messages in this folder. Providers that can implement server-side searching might want to override this method to provide a more efficient implementation.

Parameters:
term - the search criterion
Returns:
array of matching messages
Throws:
SearchException - if the search term is too complex for the implementation to handle.
FolderNotFoundException - if this folder does not exist.
IllegalStateException - if this folder is not opened.
MessagingException
See Also:
SearchTerm

search

public Message[] search(SearchTerm term,
                        Message[] msgs)
                 throws MessagingException
Search the given array of messages for those that match the specified search criterion. Returns an array containing the matching messages. Returns an empty array if no matches were found.

Note that the specified Message objects must belong to this folder.

This implementation iterates through the given array of messages, and applies the search criterion on each message by calling its match() method with the given term. The messages that succeed in the match are returned. Providers that can implement server-side searching might want to override this method to provide a more efficient implementation. If the search term is too complex or contains user-defined terms that cannot be executed on the server, providers may elect to either throw a SearchException or degenerate to client-side searching by calling super.search() to invoke this implementation.

Parameters:
term - the search criterion
msgs - the messages to be searched
Returns:
array of matching messages
Throws:
SearchException - if the search term is too complex for the implementation to handle.
IllegalStateException - if this folder is not opened
MessagingException
See Also:
SearchTerm

addConnectionListener

public void addConnectionListener(ConnectionListener l)
Add a listener for Connection events on this Folder.

The implementation provided here adds this listener to an internal list of ConnectionListeners.

Parameters:
l - the Listener for Connection events
See Also:
ConnectionEvent

removeConnectionListener

public void removeConnectionListener(ConnectionListener l)
Remove a Connection event listener.

The implementation provided here removes this listener from the internal list of ConnectionListeners.

Parameters:
l - the listener
See Also:
addConnectionListener(javax.mail.event.ConnectionListener)

notifyConnectionListeners

protected void notifyConnectionListeners(int type)
Notify all ConnectionListeners. Folder implementations are expected to use this method to broadcast connection events.

The provided implementation queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to the registered ConnectionListeners. Note that the event dispatching occurs in a separate thread, thus avoiding potential deadlock problems.

Parameters:
type - the ConnectionEvent type
See Also:
ConnectionEvent

addFolderListener

public void addFolderListener(FolderListener l)
Add a listener for Folder events on this Folder.

The implementation provided here adds this listener to an internal list of FolderListeners.

Parameters:
l - the Listener for Folder events
See Also:
FolderEvent

removeFolderListener

public void removeFolderListener(FolderListener l)
Remove a Folder event listener.

The implementation provided here removes this listener from the internal list of FolderListeners.

Parameters:
l - the listener
See Also:
addFolderListener(javax.mail.event.FolderListener)

notifyFolderListeners

protected void notifyFolderListeners(int type)
Notify all FolderListeners registered on this Folder and this folder's Store. Folder implementations are expected to use this method to broadcast Folder events.

The implementation provided here queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to the FolderListeners registered on this folder. The implementation also invokes notifyFolderListeners on this folder's Store to notify any FolderListeners registered on the store.

Parameters:
type - type of FolderEvent
See Also:
notifyFolderRenamedListeners(javax.mail.Folder)

notifyFolderRenamedListeners

protected void notifyFolderRenamedListeners(Folder folder)
Notify all FolderListeners registered on this Folder and this folder's Store about the renaming of this folder. Folder implementations are expected to use this method to broadcast Folder events indicating the renaming of folders.

The implementation provided here queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to the FolderListeners registered on this folder. The implementation also invokes notifyFolderRenamedListeners on this folder's Store to notify any FolderListeners registered on the store.

Parameters:
folder - Folder representing the new name.
Since:
JavaMail 1.1
See Also:
notifyFolderListeners(int)

addMessageCountListener

public void addMessageCountListener(MessageCountListener l)
Add a listener for MessageCount events on this Folder.

The implementation provided here adds this listener to an internal list of MessageCountListeners.

Parameters:
l - the Listener for MessageCount events
See Also:
MessageCountEvent

removeMessageCountListener

public void removeMessageCountListener(MessageCountListener l)
Remove a MessageCount listener.

The implementation provided here removes this listener from the internal list of MessageCountListeners.

Parameters:
l - the listener
See Also:
addMessageCountListener(javax.mail.event.MessageCountListener)

notifyMessageAddedListeners

protected void notifyMessageAddedListeners(Message[] msgs)
Notify all MessageCountListeners about the addition of messages into this folder. Folder implementations are expected to use this method to broadcast MessageCount events for indicating arrival of new messages.

The provided implementation queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to the registered MessageCountListeners. Note that the event dispatching occurs in a separate thread, thus avoiding potential deadlock problems.


notifyMessageRemovedListeners

protected void notifyMessageRemovedListeners(boolean removed,
                                             Message[] msgs)
Notify all MessageCountListeners about the removal of messages from this Folder. Folder implementations are expected to use this method to broadcast MessageCount events indicating removal of messages.

The provided implementation queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to the registered MessageCountListeners. Note that the event dispatching occurs in a separate thread, thus avoiding potential deadlock problems.


addMessageChangedListener

public void addMessageChangedListener(MessageChangedListener l)
Add a listener for MessageChanged events on this Folder.

The implementation provided here adds this listener to an internal list of MessageChangedListeners.

Parameters:
l - the Listener for MessageChanged events
See Also:
MessageChangedEvent

removeMessageChangedListener

public void removeMessageChangedListener(MessageChangedListener l)
Remove a MessageChanged listener.

The implementation provided here removes this listener from the internal list of MessageChangedListeners.

Parameters:
l - the listener
See Also:
addMessageChangedListener(javax.mail.event.MessageChangedListener)

notifyMessageChangedListeners

protected void notifyMessageChangedListeners(int type,
                                             Message msg)
Notify all MessageChangedListeners. Folder implementations are expected to use this method to broadcast MessageChanged events.

The provided implementation queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to registered MessageChangedListeners. Note that the event dispatching occurs in a separate thread, thus avoiding potential deadlock problems.


finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable

toString

public java.lang.String toString()
override the default toString(), it will return the String from Folder.getFullName() or if that is null, it will use the default toString() behavior.

Overrides:
toString in class java.lang.Object


Представьте ошибку или функцию

Copyright © 2009-2011, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.

Generated on 10-February-2011 12:41


Spec-Zone.ru - all specs in one place



free hit counter