package com.l7tech.gateway.api;

import com.l7tech.gateway.api.impl.AttributeExtensibleType;
import com.l7tech.gateway.api.impl.ElementExtensionSupport;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlType;
import java.math.BigInteger;

@XmlRootElement(name = "CertificateData")
@XmlType(name = "CertificateDataType", propOrder = {"issuerNameValue", "serialNumberValue", "subjectNameValue", "encodedValue", "extension", "extensions"})
public class CertificateData extends ElementExtensionSupport {
   private AttributeExtensibleType.AttributeExtensibleString d;
   private AttributeExtensibleType.AttributeExtensibleBigInteger e;
   private AttributeExtensibleType.AttributeExtensibleString f;
   private AttributeExtensibleType.AttributeExtensibleByteArray g;

   public String getIssuerName() {
      return AttributeExtensibleType.get(this.d);
   }

   public void setIssuerName(String var1) {
      this.d = AttributeExtensibleType.set(this.d, var1);
   }

   public BigInteger getSerialNumber() {
      return AttributeExtensibleType.get(this.e);
   }

   public void setSerialNumber(BigInteger var1) {
      this.e = AttributeExtensibleType.set(this.e, var1);
   }

   public String getSubjectName() {
      return AttributeExtensibleType.get(this.f);
   }

   public void setSubjectName(String var1) {
      this.f = AttributeExtensibleType.set(this.f, var1);
   }

   public byte[] getEncoded() {
      return AttributeExtensibleType.get(this.g);
   }

   public void setEncoded(byte[] var1) {
      this.g = AttributeExtensibleType.set(this.g, var1);
   }

   @XmlElement(name = "IssuerName")
   protected AttributeExtensibleType.AttributeExtensibleString getIssuerNameValue() {
      return this.d;
   }

   protected void setIssuerNameValue(AttributeExtensibleType.AttributeExtensibleString var1) {
      this.d = var1;
   }

   @XmlElement(name = "SerialNumber")
   protected AttributeExtensibleType.AttributeExtensibleBigInteger getSerialNumberValue() {
      return this.e;
   }

   protected void setSerialNumberValue(AttributeExtensibleType.AttributeExtensibleBigInteger var1) {
      this.e = var1;
   }

   @XmlElement(name = "SubjectName")
   protected AttributeExtensibleType.AttributeExtensibleString getSubjectNameValue() {
      return this.f;
   }

   protected void setSubjectNameValue(AttributeExtensibleType.AttributeExtensibleString var1) {
      this.f = var1;
   }

   @XmlElement(name = "Encoded", required = true)
   protected AttributeExtensibleType.AttributeExtensibleByteArray getEncodedValue() {
      return this.g;
   }

   protected void setEncodedValue(AttributeExtensibleType.AttributeExtensibleByteArray var1) {
      this.g = var1;
   }

   CertificateData() {
   }
}
