001package com.nimbusds.openid.connect.sdk.claims; 002 003 004import net.jcip.annotations.Immutable; 005 006import com.nimbusds.oauth2.sdk.id.Identifier; 007 008 009/** 010 * The end-user's gender: Values defined by the OpenID Connect specification 011 * are {@link #FEMALE} and {@link #MALE} ({@code gender}). Other values may be 012 * used when neither of the defined values are applicable. This class is 013 * immutable. 014 * 015 * @author Vladimir Dzhuvinov 016 */ 017@Immutable 018public class Gender extends Identifier { 019 020 021 /** 022 * Female gender claim value. 023 */ 024 public static final Gender FEMALE = new Gender("female"); 025 026 027 /** 028 * Male gender claim value. 029 */ 030 public static final Gender MALE = new Gender("male"); 031 032 033 /** 034 * Creates a new gender with the specified value. 035 * 036 * @param value The gender value. Must not be {@code null}. 037 */ 038 public Gender(final String value) { 039 040 super(value); 041 } 042 043 044 @Override 045 public boolean equals(final Object object) { 046 047 return object instanceof Gender && 048 this.toString().equals(object.toString()); 049 } 050}