Class Algorithm

java.lang.Object
com.nimbusds.jose.Algorithm
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
EncryptionMethod, JWEAlgorithm, JWSAlgorithm

@Immutable public class Algorithm extends Object implements Serializable
The base class for algorithm names, with optional implementation requirement. This class is immutable.

Includes constants for the following standard algorithm names:

Version:
2024-04-20
Author:
Vladimir Dzhuvinov
See Also:
  • Field Details

    • NONE

      public static final Algorithm NONE
      No algorithm (unsecured JOSE object without signature / encryption).
  • Constructor Details

    • Algorithm

      public Algorithm(String name, Requirement req)
      Creates a new JOSE algorithm name.
      Parameters:
      name - The algorithm name. Must not be null.
      req - The implementation requirement, null if not known.
    • Algorithm

      public Algorithm(String name)
      Creates a new JOSE algorithm name.
      Parameters:
      name - The algorithm name. Must not be null.
  • Method Details

    • getName

      public final String getName()
      Gets the name of this algorithm.
      Returns:
      The algorithm name.
    • getRequirement

      public final Requirement getRequirement()
      Gets the implementation requirement of this algorithm.
      Returns:
      The implementation requirement, null if not known.
    • hashCode

      public final int hashCode()
      Overrides Object.hashCode().
      Overrides:
      hashCode in class Object
      Returns:
      The object hash code.
    • equals

      public boolean equals(Object object)
      Overrides Object.equals().
      Overrides:
      equals in class Object
      Parameters:
      object - The object to compare to.
      Returns:
      true if the objects have the same value, otherwise false.
    • toString

      public final String toString()
      Returns the string representation of this algorithm.
      Overrides:
      toString in class Object
      Returns:
      The string representation.
      See Also:
    • toJSONString

      public final String toJSONString()
      Returns the JSON string representation of this algorithm.
      Returns:
      The JSON string representation.
    • parse

      public static Algorithm parse(String s)
      Parses an optional algorithm.
      Parameters:
      s - The string to parse. May be null.
      Returns:
      The JOSE algorithm, null if not specified.