001package org.apache.commons.ssl.org.bouncycastle.asn1.x509.qualified; 002 003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Choice; 004import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Encodable; 005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Integer; 006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object; 007import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1ObjectIdentifier; 008import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive; 009 010/** 011 * The TypeOfBiometricData object. 012 * <pre> 013 * TypeOfBiometricData ::= CHOICE { 014 * predefinedBiometricType PredefinedBiometricType, 015 * biometricDataOid OBJECT IDENTIFIER } 016 * 017 * PredefinedBiometricType ::= INTEGER { 018 * picture(0),handwritten-signature(1)} 019 * (picture|handwritten-signature) 020 * </pre> 021 */ 022public class TypeOfBiometricData 023 extends ASN1Object 024 implements ASN1Choice 025{ 026 public static final int PICTURE = 0; 027 public static final int HANDWRITTEN_SIGNATURE = 1; 028 029 ASN1Encodable obj; 030 031 public static TypeOfBiometricData getInstance(Object obj) 032 { 033 if (obj == null || obj instanceof TypeOfBiometricData) 034 { 035 return (TypeOfBiometricData)obj; 036 } 037 038 if (obj instanceof ASN1Integer) 039 { 040 ASN1Integer predefinedBiometricTypeObj = ASN1Integer.getInstance(obj); 041 int predefinedBiometricType = predefinedBiometricTypeObj.getValue().intValue(); 042 043 return new TypeOfBiometricData(predefinedBiometricType); 044 } 045 else if (obj instanceof ASN1ObjectIdentifier) 046 { 047 ASN1ObjectIdentifier BiometricDataID = ASN1ObjectIdentifier.getInstance(obj); 048 return new TypeOfBiometricData(BiometricDataID); 049 } 050 051 throw new IllegalArgumentException("unknown object in getInstance"); 052 } 053 054 public TypeOfBiometricData(int predefinedBiometricType) 055 { 056 if (predefinedBiometricType == PICTURE || predefinedBiometricType == HANDWRITTEN_SIGNATURE) 057 { 058 obj = new ASN1Integer(predefinedBiometricType); 059 } 060 else 061 { 062 throw new IllegalArgumentException("unknow PredefinedBiometricType : " + predefinedBiometricType); 063 } 064 } 065 066 public TypeOfBiometricData(ASN1ObjectIdentifier BiometricDataID) 067 { 068 obj = BiometricDataID; 069 } 070 071 public boolean isPredefined() 072 { 073 return obj instanceof ASN1Integer; 074 } 075 076 public int getPredefinedBiometricType() 077 { 078 return ((ASN1Integer)obj).getValue().intValue(); 079 } 080 081 public ASN1ObjectIdentifier getBiometricDataOid() 082 { 083 return (ASN1ObjectIdentifier)obj; 084 } 085 086 public ASN1Primitive toASN1Primitive() 087 { 088 return obj.toASN1Primitive(); 089 } 090}