001package org.apache.commons.ssl.org.bouncycastle.asn1.smime;
002
003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Encodable;
004import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1EncodableVector;
005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Integer;
006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1ObjectIdentifier;
007import org.apache.commons.ssl.org.bouncycastle.asn1.DERSequence;
008
009/**
010 * Handler for creating a vector S/MIME Capabilities
011 */
012public class SMIMECapabilityVector
013{
014    private ASN1EncodableVector    capabilities = new ASN1EncodableVector();
015
016    public void addCapability(
017        ASN1ObjectIdentifier capability)
018    {
019        capabilities.add(new DERSequence(capability));
020    }
021
022    public void addCapability(
023        ASN1ObjectIdentifier capability,
024        int                 value)
025    {
026        ASN1EncodableVector  v = new ASN1EncodableVector();
027
028        v.add(capability);
029        v.add(new ASN1Integer(value));
030
031        capabilities.add(new DERSequence(v));
032    }
033
034    public void addCapability(
035        ASN1ObjectIdentifier capability,
036        ASN1Encodable params)
037    {
038        ASN1EncodableVector  v = new ASN1EncodableVector();
039
040        v.add(capability);
041        v.add(params);
042
043        capabilities.add(new DERSequence(v));
044    }
045
046    public ASN1EncodableVector toASN1EncodableVector()
047    {
048        return capabilities;
049    }
050}