blob: 91b1930eb91da00d8f1b1f9f696a7c3059d580ef [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
package org.apache.kerby.cms.type;
import org.apache.kerby.asn1.EnumType;
import org.apache.kerby.asn1.type.Asn1Choice;
import org.apache.kerby.asn1.Asn1FieldInfo;
import org.apache.kerby.asn1.ImplicitField;
import static org.apache.kerby.cms.type.CertificateChoices.MyEnum.*;
/**
* CertificateChoices ::= CHOICE {
* certificate Certificate,
* extendedCertificate [0] IMPLICIT ExtendedCertificate, -- Obsolete
* v1AttrCert [1] IMPLICIT AttributeCertificateV1, -- Obsolete
* v2AttrCert [2] IMPLICIT AttributeCertificateV2,
* other [3] IMPLICIT OtherCertificateFormat }
*/
public class CertificateChoices extends Asn1Choice {
protected static enum MyEnum implements EnumType {
CERTIFICATE,
EXTENDED_CERTIFICATE,
V1_ATTR_CERT,
V2_ATTR_CERT,
OTHER;
@Override
public int getValue() {
return ordinal();
}
@Override
public String getName() {
return name();
}
}
static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
new Asn1FieldInfo(CERTIFICATE, Certificate.class),
new ImplicitField(EXTENDED_CERTIFICATE, 0, ExtendedCertificate.class),
new ImplicitField(V1_ATTR_CERT, 1, AttributeCertificateV1.class),
new ImplicitField(V2_ATTR_CERT, 2, AttributeCertificateV2.class),
new ImplicitField(OTHER, 3, OtherCertificateFormat.class),
};
public CertificateChoices() {
super(fieldInfos);
}
public Certificate getCertificate() {
return getFieldAs(CERTIFICATE, Certificate.class);
}
public void setCertificate(Certificate certificate) {
setFieldAs(CERTIFICATE, certificate);
}
public ExtendedCertificate getExtendedCertificate() {
return getFieldAs(EXTENDED_CERTIFICATE, ExtendedCertificate.class);
}
public void setExtendedCertificate(ExtendedCertificate extendedCertificate) {
setFieldAs(EXTENDED_CERTIFICATE, extendedCertificate);
}
public AttributeCertificateV1 getV1AttrCert() {
return getFieldAs(V1_ATTR_CERT, AttributeCertificateV1.class);
}
public void setV1AttrCert(AttributeCertificateV1 v1AttrCert) {
setFieldAs(V1_ATTR_CERT, v1AttrCert);
}
public AttributeCertificateV2 getV2AttrCert() {
return getFieldAs(V2_ATTR_CERT, AttributeCertificateV2.class);
}
public void setV2AttrCert(AttributeCertificateV2 v2AttrCert) {
setFieldAs(V2_ATTR_CERT, v2AttrCert);
}
public OtherCertificateFormat getOther() {
return getFieldAs(OTHER, OtherCertificateFormat.class);
}
public void setOther(OtherCertificateFormat other) {
setFieldAs(OTHER, other);
}
}