FileDocCategorySizeDatePackage
DistributionPoint.javaAPI DocAndroid 1.5 API3273Wed May 06 22:41:06 BST 2009org.bouncycastle.asn1.x509

DistributionPoint

public class DistributionPoint extends org.bouncycastle.asn1.ASN1Encodable
The DistributionPoint object.
DistributionPoint ::= SEQUENCE {
distributionPoint [0] DistributionPointName OPTIONAL,
reasons [1] ReasonFlags OPTIONAL,
cRLIssuer [2] GeneralNames OPTIONAL
}

Fields Summary
DistributionPointName
distributionPoint
ReasonFlags
reasons
GeneralNames
cRLIssuer
Constructors Summary
public DistributionPoint(org.bouncycastle.asn1.ASN1Sequence seq)

        for (int i = 0; i != seq.size(); i++)
        {
            ASN1TaggedObject    t = ASN1TaggedObject.getInstance(seq.getObjectAt(i));
            switch (t.getTagNo())
            {
            case 0:
                distributionPoint = DistributionPointName.getInstance(t, true);
                break;
            case 1:
                reasons = new ReasonFlags(DERBitString.getInstance(t, false));
                break;
            case 2:
                cRLIssuer = GeneralNames.getInstance(t, false);
            }
        }
    
public DistributionPoint(DistributionPointName distributionPoint, ReasonFlags reasons, GeneralNames cRLIssuer)

        this.distributionPoint = distributionPoint;
        this.reasons = reasons;
        this.cRLIssuer = cRLIssuer;
    
Methods Summary
public GeneralNamesgetCRLIssuer()

        return cRLIssuer;
    
public DistributionPointNamegetDistributionPoint()

        return distributionPoint;
    
public static org.bouncycastle.asn1.x509.DistributionPointgetInstance(org.bouncycastle.asn1.ASN1TaggedObject obj, boolean explicit)

        return getInstance(ASN1Sequence.getInstance(obj, explicit));
    
public static org.bouncycastle.asn1.x509.DistributionPointgetInstance(java.lang.Object obj)

        if(obj == null || obj instanceof DistributionPoint) 
        {
            return (DistributionPoint)obj;
        }
        
        if(obj instanceof ASN1Sequence) 
        {
            return new DistributionPoint((ASN1Sequence)obj);
        }
        
        throw new IllegalArgumentException("Invalid DistributionPoint: " + obj.getClass().getName());
    
public ReasonFlagsgetReasons()

        return reasons;
    
public org.bouncycastle.asn1.DERObjecttoASN1Object()

        ASN1EncodableVector  v = new ASN1EncodableVector();
        
        if (distributionPoint != null)
        {
            //
            // as this is a CHOICE it must be explicitly tagged
            //
            v.add(new DERTaggedObject(0, distributionPoint));
        }

        if (reasons != null)
        {
            v.add(new DERTaggedObject(false, 1, reasons));
        }

        if (cRLIssuer != null)
        {
            v.add(new DERTaggedObject(false, 2, cRLIssuer));
        }

        return new DERSequence(v);