org.restlet.data

## Class ChallengeScheme

- java.lang.Object
- - org.restlet.data.ChallengeScheme

    public final class ChallengeScheme
    extends java.lang.Object

Challenge scheme used to authenticate remote clients.

Author:
  Jerome Louvel

### Field Summary

Fields
`static ChallengeScheme` `CUSTOM` Custom scheme based on IP address or cookies or query parameters, etc.
`static ChallengeScheme` `FTP_PLAIN` Plain FTP scheme.
`static ChallengeScheme` `HTTP_AWS_S3` Amazon S3 HTTP scheme.
`static ChallengeScheme` `HTTP_AZURE_SHAREDKEY` Microsoft Azure Shared Key scheme.
`static ChallengeScheme` `HTTP_AZURE_SHAREDKEY_LITE` Microsoft Azure Shared Key lite scheme.
`static ChallengeScheme` `HTTP_BASIC` Basic HTTP scheme.
`static ChallengeScheme` `HTTP_COOKIE` Cookie HTTP scheme.
`static ChallengeScheme` `HTTP_DIGEST` Digest HTTP scheme.
`static ChallengeScheme` `HTTP_NTLM` Microsoft NTML HTTP scheme.
`static ChallengeScheme` `HTTP_OAUTH` OAuth HTTP scheme.
`static ChallengeScheme` `POP_BASIC` Basic POP scheme.
`static ChallengeScheme` `POP_DIGEST` Digest POP scheme.
`static ChallengeScheme` `SMTP_PLAIN` Plain SMTP scheme.

### Constructor Summary

Constructors
Constructor and Description
`ChallengeScheme(java.lang.String name, java.lang.String technicalName)` Constructor.
`ChallengeScheme(java.lang.String name, java.lang.String technicalName, java.lang.String description)` Constructor.

### Method Summary

Methods
`boolean` `equals(java.lang.Object object)`
`java.lang.String` `getDescription()` Returns the description.
`java.lang.String` `getName()` Returns the name.
`java.lang.String` `getTechnicalName()` Returns the technical name (ex: BASIC).
`int` `hashCode()`
`java.lang.String` `toString()` Returns the name.
`static ChallengeScheme` `valueOf(java.lang.String name)` Returns the challenge scheme associated to a scheme name.

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

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

### Field Detail

#### CUSTOM

    public static final ChallengeScheme CUSTOM

Custom scheme based on IP address or cookies or query parameters, etc.

#### HTTP_AWS_S3

    public static final ChallengeScheme HTTP_AWS_S3

Amazon S3 HTTP scheme.

#### HTTP_BASIC

    public static final ChallengeScheme HTTP_BASIC

Basic HTTP scheme.

#### HTTP_COOKIE

    public static final ChallengeScheme HTTP_COOKIE

Cookie HTTP scheme.

#### HTTP_DIGEST

    public static final ChallengeScheme HTTP_DIGEST

Digest HTTP scheme.

#### HTTP_AZURE_SHAREDKEY

    public static final ChallengeScheme HTTP_AZURE_SHAREDKEY

Microsoft Azure Shared Key scheme.

See Also:
  MSDN page

#### HTTP_AZURE_SHAREDKEY_LITE

    public static final ChallengeScheme HTTP_AZURE_SHAREDKEY_LITE

Microsoft Azure Shared Key lite scheme.

See Also:
  MSDN page

#### HTTP_NTLM

    public static final ChallengeScheme HTTP_NTLM

Microsoft NTML HTTP scheme.

#### HTTP_OAUTH

    public static final ChallengeScheme HTTP_OAUTH

OAuth HTTP scheme.

#### POP_BASIC

    public static final ChallengeScheme POP_BASIC

Basic POP scheme. Based on the USER/PASS commands.

#### POP_DIGEST

    public static final ChallengeScheme POP_DIGEST

Digest POP scheme. Based on the APOP command.

#### SMTP_PLAIN

    public static final ChallengeScheme SMTP_PLAIN

Plain SMTP scheme.

#### FTP_PLAIN

    public static final ChallengeScheme FTP_PLAIN

Plain FTP scheme.

### Constructor Detail

#### ChallengeScheme

    public ChallengeScheme(java.lang.String name,
                   java.lang.String technicalName)

Constructor.

Parameters:
  `name` - The unique name.
  `technicalName` - The technical name.

#### ChallengeScheme

    public ChallengeScheme(java.lang.String name,
                   java.lang.String technicalName,
                   java.lang.String description)

Constructor.

Parameters:
  `name` - The unique name.
  `technicalName` - The technical name.
  `description` - The description.

### Method Detail

#### valueOf

    public static ChallengeScheme valueOf(java.lang.String name)

Returns the challenge scheme associated to a scheme name. If an existing constant exists then it is returned, otherwise a new instance is created.

Parameters:
  `name` - The scheme name.
Returns:
  The associated challenge scheme.

#### equals

    public boolean equals(java.lang.Object object)

Overrides:
  `equals` in class `java.lang.Object`

#### getDescription

    public java.lang.String getDescription()

Returns the description.

Returns:
  The description.

#### getName

    public java.lang.String getName()

Returns the name.

Returns:
  The name.

#### getTechnicalName

    public java.lang.String getTechnicalName()

Returns the technical name (ex: BASIC).

Returns:
  The technical name (ex: BASIC).

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### toString

    public java.lang.String toString()

Returns the name.

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  The name.