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.
013 */
014@Immutable
015public class Gender extends Identifier {
016
017        
018        /**
019         * Female gender claim value.
020         */
021        public static final Gender FEMALE = new Gender("female");
022        
023        
024        /**
025         * Male gender claim value.
026         */
027        public static final Gender MALE = new Gender("male");
028        
029         
030        /**
031         * Creates a new gender with the specified value.
032         *
033         * @param value The gender value. Must not be {@code null}.
034         */
035        public Gender(final String value) {
036        
037                super(value);
038        }
039
040
041        @Override
042        public boolean equals(final Object object) {
043        
044                return object instanceof Gender &&
045                       this.toString().equals(object.toString());
046        }
047}