Package javax.mail

# Class Provider

java.lang.Object
javax.mail.Provider

Direct Known Subclasses:
  `GmailProvider`, `GmailSSLProvider`, `IMAPProvider`, `IMAPSSLProvider`, `POP3Provider`, `POP3SSLProvider`, `SMTPProvider`, `SMTPSSLProvider`

public class Provider extends Object
The Provider is a class that describes a protocol implementation. The values typically come from the javamail.providers and javamail.default.providers resource files. An application may also create and register a Provider object to dynamically add support for a new provider.

Author:
  Max Spivak, Bill Shannon

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`Provider.Type`
This inner class defines the Provider type.

## Constructor Summary

Constructors
Constructor
Description
`Provider(Provider.Type type, String protocol, String classname, String vendor, String version)`
Create a new provider of the specified type for the specified protocol.

## Method Summary

Modifier and Type
Method
Description
`String`
`getClassName()`
Returns the name of the class that implements the protocol.
`String`
`getProtocol()`
Returns the protocol supported by this Provider.
`Provider.Type`
`getType()`
Returns the type of this Provider.
`String`
`getVendor()`
Returns the name of the vendor associated with this implementation or null.
`String`
`getVersion()`
Returns the version of this implementation or null if no version.
`String`
`toString()`
Overrides Object.toString()

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

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

## Constructor Details

### Provider

public Provider(Provider.Type type, String protocol, String classname, String vendor, String version)
Create a new provider of the specified type for the specified protocol. The specified class implements the provider.

Parameters:
  `type` - Type.STORE or Type.TRANSPORT
  `protocol` - valid protocol for the type
  `classname` - class name that implements this protocol
  `vendor` - optional string identifying the vendor (may be null)
  `version` - optional implementation version string (may be null)
Since:
  JavaMail 1.4

## Method Details

### getType

public Provider.Type getType()
Returns the type of this Provider.

Returns:
  the provider type

### getProtocol

public String getProtocol()
Returns the protocol supported by this Provider.

Returns:
  the protocol

### getClassName

public String getClassName()
Returns the name of the class that implements the protocol.

Returns:
  the class name

### getVendor

public String getVendor()
Returns the name of the vendor associated with this implementation or null.

Returns:
  the vendor

### getVersion

public String getVersion()
Returns the version of this implementation or null if no version.

Returns:
  the version

### toString

public String toString()
Overrides Object.toString()

Overrides:
  `toString` in class `Object`