package org.bouncycastle.asn1.x509.qualified;
import org.bouncycastle.asn1.ASN1Choice;
import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.DEREncodable;
import org.bouncycastle.asn1.DERInteger;
import org.bouncycastle.asn1.DERObject;
import org.bouncycastle.asn1.DERObjectIdentifier;
/**
* The TypeOfBiometricData object.
* <pre>
* TypeOfBiometricData ::= CHOICE {
* predefinedBiometricType PredefinedBiometricType,
* biometricDataOid OBJECT IDENTIFIER }
*
* PredefinedBiometricType ::= INTEGER {
* picture(0),handwritten-signature(1)}
* (picture|handwritten-signature)
* </pre>
*/
public class TypeOfBiometricData
extends ASN1Encodable
implements ASN1Choice
{
public static final int PICTURE = 0;
public static final int HANDWRITTEN_SIGNATURE = 1;
DEREncodable obj;
public static TypeOfBiometricData getInstance(Object obj)
{
if (obj == null || obj instanceof TypeOfBiometricData)
{
return (TypeOfBiometricData)obj;
}
if (obj instanceof DERInteger)
{
DERInteger predefinedBiometricTypeObj = DERInteger.getInstance(obj);
int predefinedBiometricType = predefinedBiometricTypeObj.getValue().intValue();
return new TypeOfBiometricData(predefinedBiometricType);
}
else if (obj instanceof DERObjectIdentifier)
{
DERObjectIdentifier BiometricDataID = DERObjectIdentifier.getInstance(obj);
return new TypeOfBiometricData(BiometricDataID);
}
throw new IllegalArgumentException("unknown object in getInstance");
}
public TypeOfBiometricData(int predefinedBiometricType)
{
if (predefinedBiometricType == PICTURE || predefinedBiometricType == HANDWRITTEN_SIGNATURE)
{
obj = new DERInteger(predefinedBiometricType);
}
else
{
throw new IllegalArgumentException("unknow PredefinedBiometricType : " + predefinedBiometricType);
}
}
public TypeOfBiometricData(DERObjectIdentifier BiometricDataID)
{
obj = BiometricDataID;
}
public boolean isPredefined()
{
return obj instanceof DERInteger;
}
public int getPredefinedBiometricType()
{
return ((DERInteger)obj).getValue().intValue();
}
public DERObjectIdentifier getBiometricDataOid()
{
return (DERObjectIdentifier)obj;
}
public DERObject toASN1Object()
{
return obj.getDERObject();
}
}
|