001/*
002 * oauth2-oidc-sdk
003 *
004 * Copyright 2012-2016, Connect2id Ltd and contributors.
005 *
006 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use
007 * this file except in compliance with the License. You may obtain a copy of the
008 * License at
009 *
010 *    http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software distributed
013 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
014 * CONDITIONS OF ANY KIND, either express or implied. See the License for the
015 * specific language governing permissions and limitations under the License.
016 */
017
018package com.nimbusds.openid.connect.sdk.assurance.evidences;
019
020
021import net.jcip.annotations.Immutable;
022
023import com.nimbusds.oauth2.sdk.id.Identifier;
024
025
026/**
027 * Identity document type.
028 *
029 * <p>Related specifications:
030 *
031 * <ul>
032 *     <li>OpenID Connect for Identity Assurance 1.0
033 * </ul>
034 */
035@Deprecated
036@Immutable
037public final class IDDocumentType extends Identifier {
038        
039        
040        private static final long serialVersionUID = -6631671451012338520L;
041        
042        
043        /**
044         * An identity document issued by a country's government for the
045         * purpose of identifying a citizen.
046         */
047        public static final IDDocumentType IDCARD = new IDDocumentType("idcard");
048        
049        
050        /**
051         * A passport is a travel document, usually issued by a country's
052         * government, that certifies the identity and nationality of its
053         * holder primarily for the purpose of international
054         * travel.
055         */
056        public static final IDDocumentType PASSPORT = new IDDocumentType("passport");
057        
058        
059        /**
060         * Official document permitting an individual to operate motorized
061         * vehicles. In the absence of a formal identity document, a driver's
062         * license may be accepted in many countries for identity verification.
063         */
064        public static final IDDocumentType DRIVING_PERMIT = new IDDocumentType("driving_permit");
065        
066        
067        /**
068         * ID Card issued by the German government to foreign nationals.
069         */
070        public static final IDDocumentType DE_IDCARD_FOREIGNERS = new IDDocumentType("de_idcard_foreigners");
071        
072        
073        /**
074         * ID Card issued by the German government to foreign nationals as
075         * passports replacement.
076         */
077        public static final IDDocumentType DE_EMERGENCY_IDCARD = new IDDocumentType("de_emergency_idcard");
078        
079        
080        /**
081         * Electronic Resident Permit issued by the German government to
082         * foreign nationals.
083         */
084        public static final IDDocumentType DE_ERP = new IDDocumentType("de_erp");
085        
086        
087        /**
088         * Electronic Resident Permit issued by the German government to
089         * foreign nationals as replacement for another identity document.
090         */
091        public static final IDDocumentType DE_ERP_REPLACEMENT_IDCARD = new IDDocumentType("de_erp_replacement_idcard");
092        
093        
094        /**
095         * ID Card issued by the German government to refugees as passports
096         * replacement.
097         */
098        public static final IDDocumentType DE_IDCARD_REFUGEES = new IDDocumentType("de_idcard_refugees");
099        
100        
101        /**
102         * ID Card issued by the German government to apatrids as passports
103         * replacement.
104         */
105        public static final IDDocumentType DE_IDCARD_APATRIDS = new IDDocumentType("de_idcard_apatrids");
106        
107        
108        /**
109         * Identity document issued to refugees in case of suspension of
110         * deportation that are marked as "id card replacement".
111         */
112        public static final IDDocumentType DE_CERTIFICATE_OF_SUSPENSION_OF_DEPORTATION = new IDDocumentType("de_certificate_of_suspension_of_deportation");
113        
114        
115        /**
116         * Permission to reside issued by the German government to foreign
117         * nationals applying for asylum.
118         */
119        public static final IDDocumentType DE_PERMISSION_TO_RESIDE = new IDDocumentType("de_permission_to_reside");
120        
121        
122        /**
123         * ID Card replacement document issued by the German government to
124         * foreign nationals (see Act on the Residence, Economic Activity and
125         * Integration of Foreigners in the Federal Territory, Residence Act,
126         * Appendix D1 ID Card replacement according to § 48 Abs. 2 i.V.m. §
127         * 78a Abs. 4).
128         */
129        public static final IDDocumentType DE_REPLACEMENT_IDCARD = new IDDocumentType("de_replacement_idcard");
130        
131        
132        /**
133         * Japanese drivers license.
134         */
135        public static final IDDocumentType JP_DRIVERS_LICENSE = new IDDocumentType("jp_drivers_license");
136        
137        
138        /**
139         * Japanese residence card for foreigners.
140         */
141        public static final IDDocumentType JP_RESIDENCY_CARD_FOR_FOREIGNER = new IDDocumentType("jp_residency_card_for_foreigner");
142        
143        
144        /**
145         * Japanese national ID card.
146         */
147        public static final IDDocumentType JP_INDIVIDUAL_NUMBER_CARD = new IDDocumentType("jp_individual_number_card");
148        
149        
150        /**
151         * Japanese special residency card for foreigners to permit permanent
152         * residence.
153         */
154        public static final IDDocumentType JP_PERMANENT_RESIDENCY_CARD_FOR_FOREIGNER = new IDDocumentType("jp_permanent_residency_card_for_foreigner");
155        
156        
157        /**
158         * Japanese health insurance card.
159         */
160        public static final IDDocumentType JP_HEALTH_INSURANCE_CARD = new IDDocumentType("jp_health_insurance_card");
161        
162        
163        /**
164         * Japanese residency card.
165         */
166        public static final IDDocumentType JP_RESIDENCY_CARD = new IDDocumentType("jp_residency_card");
167        
168        
169        /**
170         * Creates a new identity document type.
171         *
172         * @param value The identity document type value. Must not be
173         *              {@code null}.
174         */
175        public IDDocumentType(final String value) {
176                super(value);
177        }
178        
179        
180        @Override
181        public boolean equals(final Object object) {
182                
183                return object instanceof IDDocumentType &&
184                        this.toString().equals(object.toString());
185        }
186}
187