Package com.sun.mail.gimap

# Class GmailFolder

java.lang.Object
javax.mail.Folder
com.sun.mail.imap.IMAPFolder
com.sun.mail.gimap.GmailFolder

All Implemented Interfaces:
  `ResponseHandler`, `AutoCloseable`, `UIDFolder`

public class GmailFolder extends IMAPFolder
A Gmail folder. Defines new FetchProfile items and uses GmailMessage to store additional Gmail message attributes.

Since:
  JavaMail 1.4.6
Author:
  Bill Shannon

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`GmailFolder.FetchProfileItem`
A fetch profile item for fetching headers.

## Nested classes/interfaces inherited from class com.sun.mail.imap.IMAPFolder

`IMAPFolder.ProtocolCommand`

## Field Summary

### Fields inherited from class com.sun.mail.imap.IMAPFolder

`attributes, availableFlags, exists, fullName, isNamespace, logger, messageCache, messageCacheLock, name, permanentFlags, protocol, separator, type, uidTable, UNKNOWN_SEPARATOR`

### Fields inherited from class javax.mail.Folder

`HOLDS_FOLDERS, HOLDS_MESSAGES, mode, READ_ONLY, READ_WRITE, store`

### Fields inherited from interface javax.mail.UIDFolder

`LASTUID, MAXUID`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`GmailFolder(ListInfo li, IMAPStore store)`
Constructor used to create an existing folder.
`protected`
`GmailFolder(String fullName, char separator, IMAPStore store, Boolean isNamespace)`
Constructor used to create a possibly non-existent folder.

## Method Summary

Modifier and Type
Method
Description
`protected IMAPMessage`
`newIMAPMessage(int msgnum)`
Create a new IMAPMessage object to represent the given message number.
`void`
`setLabels(int[] msgnums, String[] labels, boolean set)`
Set the specified labels for the given array of message numbers.
`void`
`setLabels(int start, int end, String[] labels, boolean set)`
Set the specified labels for the given range of message numbers.
`void`
`setLabels(Message[] msgs, String[] labels, boolean set)`
Set the specified labels for the given array of messages.

### Methods inherited from class com.sun.mail.imap.IMAPFolder

`addACL, addMessageCountListener, addMessages, addRights, appendMessages, appendUIDMessages, checkClosed, checkExists, checkOpened, checkRange, close, copyMessages, copyUIDMessages, create, delete, doCommand, doCommandIgnoreFailure, doOptionalCommand, doProtocolCommand, exists, expunge, expunge, fetch, forceClose, getACL, getAttributes, getDeletedMessageCount, getEnvelopeCommand, getFolder, getFullName, getHighestModSeq, getMessage, getMessageBySeqNumber, getMessageByUID, getMessageCount, getMessages, getMessagesBySeqNumbers, getMessagesByUID, getMessagesByUID, getMessagesByUIDChangedSince, getName, getNewMessageCount, getParent, getPermanentFlags, getProtocol, getQuota, getSeparator, getSortedMessages, getSortedMessages, getStatusItem, getStoreProtocol, getType, getUID, getUIDNext, getUIDNotSticky, getUIDValidity, getUnreadMessageCount, handleResponse, hasNewMessages, id, idle, idle, isOpen, isSubscribed, keepConnectionAlive, list, listRights, listSubscribed, moveMessages, moveUIDMessages, myRights, open, open, releaseProtocol, releaseStoreProtocol, removeACL, removeRights, renameTo, search, search, setFlags, setFlags, setFlags, setQuota, setSubscribed, throwClosedException`

### Methods inherited from class javax.mail.Folder

`addConnectionListener, addFolderListener, addMessageChangedListener, close, finalize, getMessages, getMessages, getMode, getStore, getURLName, list, listSubscribed, notifyConnectionListeners, notifyFolderListeners, notifyFolderRenamedListeners, notifyMessageAddedListeners, notifyMessageChangedListeners, notifyMessageRemovedListeners, removeConnectionListener, removeFolderListener, removeMessageChangedListener, removeMessageCountListener, toString`

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### GmailFolder

protected GmailFolder(String fullName, char separator, IMAPStore store, Boolean isNamespace)
Constructor used to create a possibly non-existent folder.

Parameters:
  `fullName` - fullname of this folder
  `separator` - the default separator character for this folder's namespace
  `store` - the Store
  `isNamespace` - does this name represent a namespace?

### GmailFolder

protected GmailFolder(ListInfo li, IMAPStore store)
Constructor used to create an existing folder.

Parameters:
  `li` - the ListInfo for this folder
  `store` - the store containing this folder

## Method Details

### setLabels

public void setLabels(Message[] msgs, String[] labels, boolean set) throws MessagingException
Set the specified labels for the given array of messages.

Parameters:
  `msgs` - the messages
  `labels` - the labels to add or remove
  `set` - true to add, false to remove
Throws:
  `MessagingException` - for failures
Since:
  JavaMail 1.5.5

### setLabels

public void setLabels(int start, int end, String[] labels, boolean set) throws MessagingException
Set the specified labels for the given range of message numbers.

Parameters:
  `start` - first message number
  `end` - last message number
  `labels` - the labels to add or remove
  `set` - true to add, false to remove
Throws:
  `MessagingException` - for failures
Since:
  JavaMail 1.5.5

### setLabels

public void setLabels(int[] msgnums, String[] labels, boolean set) throws MessagingException
Set the specified labels for the given array of message numbers.

Parameters:
  `msgnums` - the message numbers
  `labels` - the labels to add or remove
  `set` - true to add, false to remove
Throws:
  `MessagingException` - for failures
Since:
  JavaMail 1.5.5

### newIMAPMessage

protected IMAPMessage newIMAPMessage(int msgnum)
Create a new IMAPMessage object to represent the given message number.

Overrides:
  `newIMAPMessage` in class `IMAPFolder`
Parameters:
  `msgnum` - the message sequence number
Returns:
  the new IMAPMessage object