// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.cert.crmf;

import org.bouncycastle.asn1.cmp.PKIBody;
import org.bouncycastle.asn1.crmf.CertReqMessages;
import org.bouncycastle.asn1.crmf.CertReqMsg;

public class CertificateReqMessages
{
    private final CertReqMsg[] reqs;
    
    public CertificateReqMessages(final CertReqMessages certReqMessages) {
        this.reqs = certReqMessages.toCertReqMsgArray();
    }
    
    public static CertificateReqMessages fromPKIBody(final PKIBody pkiBody) {
        if (!isCertificateRequestMessages(pkiBody.getType())) {
            throw new IllegalArgumentException("content of PKIBody wrong type: " + pkiBody.getType());
        }
        return new CertificateReqMessages(CertReqMessages.getInstance(pkiBody.getContent()));
    }
    
    public static boolean isCertificateRequestMessages(final int n) {
        switch (n) {
            case 0:
            case 2:
            case 7:
            case 9:
            case 13: {
                return true;
            }
            default: {
                return false;
            }
        }
    }
    
    public CertificateRequestMessage[] getRequests() {
        final CertificateRequestMessage[] array = new CertificateRequestMessage[this.reqs.length];
        for (int i = 0; i != array.length; ++i) {
            array[i] = new CertificateRequestMessage(this.reqs[i]);
        }
        return array;
    }
    
    public CertReqMessages toASN1Structure() {
        return new CertReqMessages(this.reqs);
    }
}
