com.sun.mail.gimap.protocol

## Class GmailProtocol

- java.lang.Object
- - com.sun.mail.iap.Protocol
  - - com.sun.mail.imap.protocol.IMAPProtocol
    - - com.sun.mail.gimap.protocol.GmailProtocol

-     public class GmailProtocol
      extends IMAPProtocol

  Extend IMAP support to handle Gmail-specific protocol extensions.
  Since:
    JavaMail 1.4.6
  Author:
    Bill Shannon

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static FetchItem` | `LABELS_ITEM`
    `static FetchItem` | `MSGID_ITEM`
    `static FetchItem` | `THRID_ITEM`

    - ### Fields inherited from class com.sun.mail.imap.protocol.IMAPProtocol

      `enabled, searchCharsets, searchSequence`

    - ### Fields inherited from class com.sun.mail.iap.Protocol

      `host, logger, prefix, props, quote, traceLogger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GmailProtocol(String name, String host, int port, Properties props, boolean isSSL, MailLogger logger)` Connect to Gmail.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `FetchItem[]` | `getFetchItems()` Return the additional fetch items supported by the Gmail protocol.
    `protected SearchSequence` | `getSearchSequence()` Return a GmailSearchSequence.
    `void` | `storeLabels(int start, int end, String[] labels, boolean set)` Set the specified labels on this message.
    `void` | `storeLabels(int msg, String[] labels, boolean set)` Set the specified labels on this message.
    `void` | `storeLabels(MessageSet[] msgsets, String[] labels, boolean set)` Set the specified labels on this message.

    - ### Methods inherited from class com.sun.mail.imap.protocol.IMAPProtocol

      `append, appenduid, appenduid, authlogin, authntlm, authoauth2, authplain, capability, check, close, compress, copy, copy, copyuid, copyuid, create, createFlagList, delete, deleteACL, disconnect, doList, enable, examine, examine, expunge, fetch, fetch, fetch, fetchBody, fetchBody, fetchBody, fetchBody, fetchBody, fetchBodyStructure, fetchFlags, fetchMODSEQ, fetchRFC822, fetchSectionBody, fetchSequenceNumber, fetchSequenceNumbers, fetchSequenceNumbers, fetchUID, getACL, getCapabilities, getCopyUID, getProxyAuthUser, getQuota, getQuotaRoot, getResponseBuffer, hasCapability, id, id, idleAbort, idleStart, isAuthenticated, isEnabled, isREV1, list, listRights, login, logout, lsub, move, move, moveuid, moveuid, myRights, namespace, noop, parseCapabilities, peekBody, peekBody, peekBody, processGreeting, processIdleResponse, proxyauth, readIdleResponse, readResponse, rename, sasllogin, search, search, select, select, setACL, setCapabilities, setQuota, sort, startTLS, status, storeFlags, storeFlags, storeFlags, subscribe, supportsNonSyncLiterals, uidexpunge, uidfetchChangedSince, unauthenticate, unselect, unsubscribe`

    - ### Methods inherited from class com.sun.mail.iap.Protocol

      `addResponseHandler, command, finalize, getChannel, getInetAddress, getInputStream, getLocalHost, getOutputStream, getTimestamp, handleResult, hasResponse, isSSL, isTracing, notifyResponseHandlers, removeResponseHandler, resumeTracing, simpleCommand, startCompression, startTLS, suspendTracing, writeCommand`

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

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

- - ### Field Detail

    - #### MSGID_ITEM

          public static final FetchItem MSGID_ITEM

    - #### THRID_ITEM

          public static final FetchItem THRID_ITEM

    - #### LABELS_ITEM

          public static final FetchItem LABELS_ITEM

  - ### Constructor Detail

    - #### GmailProtocol

          public GmailProtocol(String name,
                       String host,
                       int port,
                       Properties props,
                       boolean isSSL,
                       MailLogger logger)
                        throws IOException,
                               ProtocolException

      Connect to Gmail.
      Parameters:
        `name` - the protocol name
        `host` - host to connect to
        `port` - portnumber to connect to
        `props` - Properties object used by this protocol
        `isSSL` - use SSL?
        `logger` - for log messages
      Throws:
        `IOException` - for I/O errors
        `ProtocolException` - for protocol failures

  - ### Method Detail

    - #### getFetchItems

          public FetchItem[] getFetchItems()

      Return the additional fetch items supported by the Gmail protocol. Combines our fetch items with those supported by the superclass.
      Overrides:
        `getFetchItems` in class `IMAPProtocol`
      Returns:
        an array of FetchItem objects

    - #### storeLabels

          public void storeLabels(MessageSet[] msgsets,
                         String[] labels,
                         boolean set)
                           throws ProtocolException

      Set the specified labels on this message.
      Parameters:
        `msgsets` - the message sets
        `labels` - the labels
        `set` - true to set, false to clear
      Throws:
        `ProtocolException` - for protocol failures
      Since:
        JavaMail 1.5.5

    - #### storeLabels

          public void storeLabels(int start,
                         int end,
                         String[] labels,
                         boolean set)
                           throws ProtocolException

      Set the specified labels on this message.
      Parameters:
        `start` - the first message number
        `end` - the last message number
        `labels` - the labels
        `set` - true to set, false to clear
      Throws:
        `ProtocolException` - for protocol failures
      Since:
        JavaMail 1.5.5

    - #### storeLabels

          public void storeLabels(int msg,
                         String[] labels,
                         boolean set)
                           throws ProtocolException

      Set the specified labels on this message.
      Parameters:
        `msg` - the message number
        `labels` - the labels
        `set` - true to set, false to clear
      Throws:
        `ProtocolException` - for protocol failures
      Since:
        JavaMail 1.5.5

    - #### getSearchSequence

          protected SearchSequence getSearchSequence()

      Return a GmailSearchSequence.
      Overrides:
        `getSearchSequence` in class `IMAPProtocol`
      Returns:
        the SearchSequence

Copyright © 2016 Oracle. All rights reserved.