package org.bouncycastle.asn1.cmc; import org.bouncycastle.asn1.ASN1Sequence; import org.bouncycastle.asn1.DERSequence; import org.bouncycastle.asn1.DERUTF8String; public class CMCStatusInfoV2Builder { private final CMCStatus cMCStatus; private final ASN1Sequence bodyList; private DERUTF8String statusString; private OtherStatusInfo otherInfo; public CMCStatusInfoV2Builder(CMCStatus cMCStatus, BodyPartID bodyPartID) { this.cMCStatus = cMCStatus; this.bodyList = new DERSequence(bodyPartID); } public CMCStatusInfoV2Builder(CMCStatus cMCStatus, BodyPartID[] bodyList) { this.cMCStatus = cMCStatus; this.bodyList = new DERSequence(bodyList); } public CMCStatusInfoV2Builder setStatusString(String statusString) { this.statusString = new DERUTF8String(statusString); return this; } public CMCStatusInfoV2Builder setOtherInfo(CMCFailInfo failInfo) { this.otherInfo = new OtherStatusInfo(failInfo); return this; } public CMCStatusInfoV2Builder setOtherInfo(ExtendedFailInfo extendedFailInfo) { this.otherInfo = new OtherStatusInfo(extendedFailInfo); return this; } public CMCStatusInfoV2Builder setOtherInfo(PendInfo pendInfo) { this.otherInfo = new OtherStatusInfo(pendInfo); return this; } public CMCStatusInfoV2 build() { return new CMCStatusInfoV2(cMCStatus, bodyList, statusString, otherInfo); } }