package com.airlock.iam.saml2.domain.model.sp;

import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;

public record Saml2SpSsoAssertionData(Saml2SpSsoMetadata ssoMetadata, Saml2SpAssertionAttributes assertionAttributes) {
   @SuppressFBWarnings(justification = "generated code")
   public static Saml2SpSsoAssertionData.Saml2SpSsoAssertionDataBuilder builder() {
      return new Saml2SpSsoAssertionData.Saml2SpSsoAssertionDataBuilder();
   }

   @SuppressFBWarnings(justification = "generated code")
   public static class Saml2SpSsoAssertionDataBuilder {
      @SuppressFBWarnings(justification = "generated code")
      private Saml2SpSsoMetadata ssoMetadata;
      @SuppressFBWarnings(justification = "generated code")
      private Saml2SpAssertionAttributes assertionAttributes;

      @SuppressFBWarnings(justification = "generated code")
      Saml2SpSsoAssertionDataBuilder() {
      }

      @SuppressFBWarnings(justification = "generated code")
      public Saml2SpSsoAssertionData.Saml2SpSsoAssertionDataBuilder ssoMetadata(Saml2SpSsoMetadata ssoMetadata) {
         this.ssoMetadata = ssoMetadata;
         return this;
      }

      @SuppressFBWarnings(justification = "generated code")
      public Saml2SpSsoAssertionData.Saml2SpSsoAssertionDataBuilder assertionAttributes(Saml2SpAssertionAttributes assertionAttributes) {
         this.assertionAttributes = assertionAttributes;
         return this;
      }

      @SuppressFBWarnings(justification = "generated code")
      public Saml2SpSsoAssertionData build() {
         return new Saml2SpSsoAssertionData(this.ssoMetadata, this.assertionAttributes);
      }

      @SuppressFBWarnings(justification = "generated code")
      @Override
      public String toString() {
         return "Saml2SpSsoAssertionData.Saml2SpSsoAssertionDataBuilder(ssoMetadata="
            + this.ssoMetadata
            + ", assertionAttributes="
            + this.assertionAttributes
            + ")";
      }
   }
}
