01: package org.bouncycastle.asn1.x509.qualified;
02:
03: import org.bouncycastle.asn1.ASN1Choice;
04: import org.bouncycastle.asn1.ASN1Encodable;
05: import org.bouncycastle.asn1.DEREncodable;
06: import org.bouncycastle.asn1.DERInteger;
07: import org.bouncycastle.asn1.DERObject;
08: import org.bouncycastle.asn1.DERObjectIdentifier;
09:
10: /**
11: * The TypeOfBiometricData object.
12: * <pre>
13: * TypeOfBiometricData ::= CHOICE {
14: * predefinedBiometricType PredefinedBiometricType,
15: * biometricDataOid OBJECT IDENTIFIER }
16: *
17: * PredefinedBiometricType ::= INTEGER {
18: * picture(0),handwritten-signature(1)}
19: * (picture|handwritten-signature)
20: * </pre>
21: */
22: public class TypeOfBiometricData extends ASN1Encodable implements
23: ASN1Choice {
24: public static final int PICTURE = 0;
25: public static final int HANDWRITTEN_SIGNATURE = 1;
26:
27: DEREncodable obj;
28:
29: public static TypeOfBiometricData getInstance(Object obj) {
30: if (obj == null || obj instanceof TypeOfBiometricData) {
31: return (TypeOfBiometricData) obj;
32: }
33:
34: if (obj instanceof DERInteger) {
35: DERInteger predefinedBiometricTypeObj = DERInteger
36: .getInstance(obj);
37: int predefinedBiometricType = predefinedBiometricTypeObj
38: .getValue().intValue();
39:
40: return new TypeOfBiometricData(predefinedBiometricType);
41: } else if (obj instanceof DERObjectIdentifier) {
42: DERObjectIdentifier BiometricDataID = DERObjectIdentifier
43: .getInstance(obj);
44: return new TypeOfBiometricData(BiometricDataID);
45: }
46:
47: throw new IllegalArgumentException(
48: "unknown object in getInstance");
49: }
50:
51: public TypeOfBiometricData(int predefinedBiometricType) {
52: if (predefinedBiometricType == PICTURE
53: || predefinedBiometricType == HANDWRITTEN_SIGNATURE) {
54: obj = new DERInteger(predefinedBiometricType);
55: } else {
56: throw new IllegalArgumentException(
57: "unknow PredefinedBiometricType : "
58: + predefinedBiometricType);
59: }
60: }
61:
62: public TypeOfBiometricData(DERObjectIdentifier BiometricDataID) {
63: obj = BiometricDataID;
64: }
65:
66: public boolean isPredefined() {
67: return obj instanceof DERInteger;
68: }
69:
70: public int getPredefinedBiometricType() {
71: return ((DERInteger) obj).getValue().intValue();
72: }
73:
74: public DERObjectIdentifier getBiometricDataOid() {
75: return (DERObjectIdentifier) obj;
76: }
77:
78: public DERObject toASN1Object() {
79: return obj.getDERObject();
80: }
81: }
|