Class ClaimsSet

java.lang.Object
com.nimbusds.openid.connect.sdk.claims.ClaimsSet
All Implemented Interfaces:
net.minidev.json.JSONAware
Direct Known Subclasses:
Address, Birthplace, CIBASignedRequestClaimsSet, CommonClaimsSet, PersonClaims

public class ClaimsSet extends Object implements net.minidev.json.JSONAware
Claims set with basic getters and setters, serialisable to a JSON object.
  • Field Details

  • Constructor Details

    • ClaimsSet

      public ClaimsSet()
      Creates a new empty claims set.
    • ClaimsSet

      public ClaimsSet(net.minidev.json.JSONObject jsonObject)
      Creates a new claims set from the specified JSON object.
      Parameters:
      jsonObject - The JSON object. Must not be null.
  • Method Details

    • getStandardClaimNames

      public static Set<String> getStandardClaimNames()
      Gets the names of the standard top-level claims.
      Returns:
      The names of the standard top-level claims (read-only set).
    • putAll

      public void putAll(ClaimsSet other)
      Puts all claims from the specified other claims set.
      Parameters:
      other - The other claims set. Must not be null.
    • putAll

      public void putAll(Map<String,Object> claims)
      Puts all claims from the specified map.
      Parameters:
      claims - The claims to put. Must not be null.
    • getClaim

      public Object getClaim(String name)
      Gets a claim.
      Parameters:
      name - The claim name. Must not be null.
      Returns:
      The claim value, null if not specified.
    • getClaim

      public <T> T getClaim(String name, Class<T> clazz)
      Gets a claim that casts to the specified class.
      Parameters:
      name - The claim name. Must not be null.
      clazz - The Java class that the claim value should cast to. Must not be null.
      Returns:
      The claim value, null if not specified or casting failed.
    • getLangTaggedClaim

      public <T> Map<com.nimbusds.langtag.LangTag,T> getLangTaggedClaim(String name, Class<T> clazz)
      Returns a map of all instances, including language-tagged, of a claim with the specified base name.

      Example JSON serialised claims set:

       {
         "month"    : "January",
         "month#de" : "Januar"
         "month#es" : "enero",
         "month#it" : "gennaio"
       }
       

      The "month" claim instances as java.util.Map:

       null = "January" (no language tag)
       "de" = "Januar"
       "es" = "enero"
       "it" = "gennaio"
       
      Parameters:
      name - The claim name. Must not be null.
      clazz - The Java class that the claim values should cast to. Must not be null.
      Returns:
      The matching language-tagged claim values, empty map if none. A null key indicates the value has no language tag (corresponds to the base name).
    • setClaim

      public void setClaim(String name, Object value)
      Sets a claim.
      Parameters:
      name - The claim name, with an optional language tag. Must not be null.
      value - The claim value. Should serialise to a JSON entity. If null any existing claim with the same name will be removed.
    • setClaim

      public void setClaim(String name, Object value, com.nimbusds.langtag.LangTag langTag)
      Sets a claim with an optional language tag.
      Parameters:
      name - The claim name. Must not be null.
      value - The claim value. Should serialise to a JSON entity. If null any existing claim with the same name and language tag (if any) will be removed.
      langTag - The language tag of the claim value, null if not tagged.
    • getStringClaim

      public String getStringClaim(String name)
      Gets a string-based claim.
      Parameters:
      name - The claim name. Must not be null.
      Returns:
      The claim value, null if not specified or casting failed.
    • getStringClaim

      public String getStringClaim(String name, com.nimbusds.langtag.LangTag langTag)
      Gets a string-based claim with an optional language tag.
      Parameters:
      name - The claim name. Must not be null.
      langTag - The language tag of the claim value, null to get the non-tagged value.
      Returns:
      The claim value, null if not specified or casting failed.
    • getBooleanClaim

      Gets a boolean-based claim.
      Parameters:
      name - The claim name. Must not be null.
      Returns:
      The claim value, null if not specified or casting failed.
    • getNumberClaim

      public Number getNumberClaim(String name)
      Gets a number-based claim.
      Parameters:
      name - The claim name. Must not be null.
      Returns:
      The claim value, null if not specified or casting failed.
    • getURLClaim

      public URL getURLClaim(String name)
      Gets an URL string based claim.
      Parameters:
      name - The claim name. Must not be null.
      Returns:
      The claim value, null if not specified or parsing failed.
    • setURLClaim

      public void setURLClaim(String name, URL value)
      Sets an URL string based claim.
      Parameters:
      name - The claim name. Must not be null.
      value - The claim value. If null any existing claim with the same name will be removed.
    • getURIClaim

      public URI getURIClaim(String name)
      Gets an URI string based claim.
      Parameters:
      name - The claim name. Must not be null.
      Returns:
      The claim value, null if not specified or parsing failed.
    • setURIClaim

      public void setURIClaim(String name, URI value)
      Sets an URI string based claim.
      Parameters:
      name - The claim name. Must not be null.
      value - The claim value. If null any existing claim with the same name will be removed.
    • getDateClaim

      public Date getDateClaim(String name)
      Gets a date / time based claim, represented as the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date / time.
      Parameters:
      name - The claim name. Must not be null.
      Returns:
      The claim value, null if not specified or parsing failed.
    • setDateClaim

      public void setDateClaim(String name, Date value)
      Sets a date / time based claim, represented as the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date / time.
      Parameters:
      name - The claim name. Must not be null.
      value - The claim value. If null any existing claim with the same name will be removed.
    • getStringListClaim

      Gets a string list based claim.
      Parameters:
      name - The claim name. Must not be null.
      Returns:
      The claim value, null if not specified or parsing failed.
    • getJSONObjectClaim

      public net.minidev.json.JSONObject getJSONObjectClaim(String name)
      Gets a JSON object based claim.
      Parameters:
      name - The claim name. Must not be null.
      Returns:
      The claim value, null if not specified or parsing failed.
    • getJSONArrayClaim

      public net.minidev.json.JSONArray getJSONArrayClaim(String name)
      Gets a JSON array based claim.
      Parameters:
      name - The claim name. Must not be null.
      Returns:
      The claim value, null if not specified or parsing failed.
    • getIssuer

      public Issuer getIssuer()
      Gets the issuer. Corresponds to the iss claim.
      Returns:
      The issuer, null if not specified.
    • setIssuer

      public void setIssuer(Issuer iss)
      Sets the issuer. Corresponds to the iss claim.
      Parameters:
      iss - The issuer, null if not specified.
    • getAudience

      Gets the audience. Corresponds to the aud claim.
      Returns:
      The audience, null if not specified.
    • setAudience

      public void setAudience(Audience aud)
      Sets the audience. Corresponds to the aud claim.
      Parameters:
      aud - The audience, null if not specified.
    • setAudience

      public void setAudience(List<Audience> audList)
      Sets the audience list. Corresponds to the aud claim.
      Parameters:
      audList - The audience list, null if not specified.
    • toJSONObject

      public net.minidev.json.JSONObject toJSONObject()
      Gets the JSON object representation of this claims set.

      Example:

       {
         "country"       : "USA",
         "country#en"    : "USA",
         "country#de_DE" : "Vereinigte Staaten",
         "country#fr_FR" : "Etats Unis"
       }
       
      Returns:
      The JSON object representation.
    • toJSONString

      public String toJSONString()
      Specified by:
      toJSONString in interface net.minidev.json.JSONAware
    • toJWTClaimsSet

      public com.nimbusds.jwt.JWTClaimsSet toJWTClaimsSet() throws ParseException
      Gets the JSON Web Token (JWT) claims set for this claim set.
      Returns:
      The JWT claims set.
      Throws:
      ParseException - If the conversion to a JWT claims set fails.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object