Package org.pgpainless.algorithm

# Enum Class AEADAlgorithm

java.lang.Object
java.lang.Enum<AEADAlgorithm>
org.pgpainless.algorithm.AEADAlgorithm

All Implemented Interfaces:
  `Serializable`, `Comparable<AEADAlgorithm>`, `Constable`

public enum AEADAlgorithm extends Enum<AEADAlgorithm>
List of AEAD algorithms defined in crypto-refresh-06.

See Also:
  - Crypto-Refresh-06 §9.6 - AEAD Algorithms

## Nested Class Summary

## Nested classes/interfaces inherited from class java.lang.Enum

`Enum.EnumDesc<E extends Enum<E>>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`EAX`
`GCM`
`OCB`

## Method Summary

Modifier and Type
Method
Description
`static AEADAlgorithm`
`fromId(int id)`
Return the `AEADAlgorithm` value that corresponds to the provided algorithm id.
`int`
`getAlgorithmId()`
Return the ID of the AEAD algorithm.
`int`
`getIvLength()`
Return the length (in octets) of the IV.
`int`
`getTagLength()`
Return the length (in octets) of the authentication tag.
`static AEADAlgorithm`
`requireFromId(int id)`
Return the `AEADAlgorithm` value that corresponds to the provided algorithm id.
`static AEADAlgorithm`
`valueOf(String name)`
Returns the enum constant of this class with the specified name.
`static AEADAlgorithm[]`
`values()`
Returns an array containing the constants of this enum class, in the order they are declared.

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

`clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

`getClass, notify, notifyAll, wait, wait, wait`

## Enum Constant Details

### EAX

public static final AEADAlgorithm EAX

### OCB

public static final AEADAlgorithm OCB

### GCM

public static final AEADAlgorithm GCM

## Method Details

### values

public static AEADAlgorithm[] values()
Returns an array containing the constants of this enum class, in the order they are declared.

Returns:
  an array containing the constants of this enum class, in the order they are declared

### valueOf

public static AEADAlgorithm valueOf(String name)
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum class has no constant with the specified name
  `NullPointerException` - if the argument is null

### getAlgorithmId

public int getAlgorithmId()
Return the ID of the AEAD algorithm.

Returns:
  algorithm ID

### getIvLength

public int getIvLength()
Return the length (in octets) of the IV.

Returns:
  iv length

### getTagLength

public int getTagLength()
Return the length (in octets) of the authentication tag.

Returns:
  tag length

### fromId

@Nullable public static AEADAlgorithm fromId(int id)
Return the `AEADAlgorithm` value that corresponds to the provided algorithm id. If an invalid algorithm id was provided, null is returned.

Parameters:
  `id` - numeric id
Returns:
  enum value

### requireFromId

@Nonnull public static AEADAlgorithm requireFromId(int id)
Return the `AEADAlgorithm` value that corresponds to the provided algorithm id. If an invalid algorithm id was provided, throw a `NoSuchElementException`.

Parameters:
  `id` - algorithm id
Returns:
  enum value
Throws:
  `NoSuchElementException` - in case of an unknown algorithm id