APIImplAutenticazionePrincipal.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */
  20. package org.openspcoop2.core.config.rs.server.model;

  21. import javax.validation.constraints.*;

  22. import io.swagger.v3.oas.annotations.media.Schema;
  23. import com.fasterxml.jackson.annotation.JsonProperty;
  24. import javax.validation.Valid;

  25. public class APIImplAutenticazionePrincipal  implements OneOfAPIImplAutenticazione, OneOfControlloAccessiAutenticazioneAutenticazione, OneOfGruppoNuovaConfigurazioneAutenticazione {
  26.  
  27.   @Schema(required = true, description = "")
  28.   private TipoAutenticazioneEnum tipo = null;
  29.  
  30.   @Schema(required = true, description = "")
  31.   private TipoAutenticazionePrincipal tipoPrincipal = null;
  32.  
  33.   @Schema(description = "")
  34.   private TipoAutenticazionePrincipalToken token = null;
  35.  
  36.   @Schema(description = "indica il nome dell'header http in caso di autenticazione principal 'header-based',  il nome del parametro della query nel caso di autenticazione principal 'form-based' o il nome del claim in caso di autenticazione principal 'token' con tipo di claim 'custom' ")
  37.  /**
  38.    * indica il nome dell'header http in caso di autenticazione principal 'header-based',  il nome del parametro della query nel caso di autenticazione principal 'form-based' o il nome del claim in caso di autenticazione principal 'token' con tipo di claim 'custom'  
  39.   **/
  40.   private String nome = null;
  41.  
  42.   @Schema(example = "indica l'espressione regolare da utilizzare in caso di autenticazione 'url-based'", description = "")
  43.   private String pattern = null;
  44.  
  45.   @Schema(example = "false", description = "")
  46.   private Boolean forward = false;
  47.  
  48.   @Schema(example = "false", description = "")
  49.   private Boolean opzionale = false;
  50.  /**
  51.    * Get tipo
  52.    * @return tipo
  53.   **/
  54.   @Override
  55. @JsonProperty("tipo")
  56.   @NotNull
  57.   @Valid
  58.   public TipoAutenticazioneEnum getTipo() {
  59.     return this.tipo;
  60.   }

  61.   public void setTipo(TipoAutenticazioneEnum tipo) {
  62.     this.tipo = tipo;
  63.   }

  64.   public APIImplAutenticazionePrincipal tipo(TipoAutenticazioneEnum tipo) {
  65.     this.tipo = tipo;
  66.     return this;
  67.   }

  68.  /**
  69.    * Get tipoPrincipal
  70.    * @return tipoPrincipal
  71.   **/
  72.   @JsonProperty("tipo_principal")
  73.   @NotNull
  74.   @Valid
  75.   public TipoAutenticazionePrincipal getTipoPrincipal() {
  76.     return this.tipoPrincipal;
  77.   }

  78.   public void setTipoPrincipal(TipoAutenticazionePrincipal tipoPrincipal) {
  79.     this.tipoPrincipal = tipoPrincipal;
  80.   }

  81.   public APIImplAutenticazionePrincipal tipoPrincipal(TipoAutenticazionePrincipal tipoPrincipal) {
  82.     this.tipoPrincipal = tipoPrincipal;
  83.     return this;
  84.   }

  85.  /**
  86.    * Get token
  87.    * @return token
  88.   **/
  89.   @JsonProperty("token")
  90.   @Valid
  91.   public TipoAutenticazionePrincipalToken getToken() {
  92.     return this.token;
  93.   }

  94.   public void setToken(TipoAutenticazionePrincipalToken token) {
  95.     this.token = token;
  96.   }

  97.   public APIImplAutenticazionePrincipal token(TipoAutenticazionePrincipalToken token) {
  98.     this.token = token;
  99.     return this;
  100.   }

  101.  /**
  102.    * indica il nome dell'header http in caso di autenticazione principal 'header-based',  il nome del parametro della query nel caso di autenticazione principal 'form-based' o il nome del claim in caso di autenticazione principal 'token' con tipo di claim 'custom'
  103.    * @return nome
  104.   **/
  105.   @JsonProperty("nome")
  106.   @Valid
  107.  @Size(max=255)  public String getNome() {
  108.     return this.nome;
  109.   }

  110.   public void setNome(String nome) {
  111.     this.nome = nome;
  112.   }

  113.   public APIImplAutenticazionePrincipal nome(String nome) {
  114.     this.nome = nome;
  115.     return this;
  116.   }

  117.  /**
  118.    * Get pattern
  119.    * @return pattern
  120.   **/
  121.   @JsonProperty("pattern")
  122.   @Valid
  123.   public String getPattern() {
  124.     return this.pattern;
  125.   }

  126.   public void setPattern(String pattern) {
  127.     this.pattern = pattern;
  128.   }

  129.   public APIImplAutenticazionePrincipal pattern(String pattern) {
  130.     this.pattern = pattern;
  131.     return this;
  132.   }

  133.  /**
  134.    * Get forward
  135.    * @return forward
  136.   **/
  137.   @JsonProperty("forward")
  138.   @Valid
  139.   public Boolean isForward() {
  140.     return this.forward;
  141.   }

  142.   public void setForward(Boolean forward) {
  143.     this.forward = forward;
  144.   }

  145.   public APIImplAutenticazionePrincipal forward(Boolean forward) {
  146.     this.forward = forward;
  147.     return this;
  148.   }

  149.  /**
  150.    * Get opzionale
  151.    * @return opzionale
  152.   **/
  153.   @JsonProperty("opzionale")
  154.   @Valid
  155.   public Boolean isOpzionale() {
  156.     return this.opzionale;
  157.   }

  158.   public void setOpzionale(Boolean opzionale) {
  159.     this.opzionale = opzionale;
  160.   }

  161.   public APIImplAutenticazionePrincipal opzionale(Boolean opzionale) {
  162.     this.opzionale = opzionale;
  163.     return this;
  164.   }


  165.   @Override
  166.   public String toString() {
  167.     StringBuilder sb = new StringBuilder();
  168.     sb.append("class APIImplAutenticazionePrincipal {\n");
  169.    
  170.     sb.append("    tipo: ").append(APIImplAutenticazionePrincipal.toIndentedString(this.tipo)).append("\n");
  171.     sb.append("    tipoPrincipal: ").append(APIImplAutenticazionePrincipal.toIndentedString(this.tipoPrincipal)).append("\n");
  172.     sb.append("    token: ").append(APIImplAutenticazionePrincipal.toIndentedString(this.token)).append("\n");
  173.     sb.append("    nome: ").append(APIImplAutenticazionePrincipal.toIndentedString(this.nome)).append("\n");
  174.     sb.append("    pattern: ").append(APIImplAutenticazionePrincipal.toIndentedString(this.pattern)).append("\n");
  175.     sb.append("    forward: ").append(APIImplAutenticazionePrincipal.toIndentedString(this.forward)).append("\n");
  176.     sb.append("    opzionale: ").append(APIImplAutenticazionePrincipal.toIndentedString(this.opzionale)).append("\n");
  177.     sb.append("}");
  178.     return sb.toString();
  179.   }

  180.   /**
  181.    * Convert the given object to string with each line indented by 4 spaces
  182.    * (except the first line).
  183.    */
  184.   private static String toIndentedString(java.lang.Object o) {
  185.     if (o == null) {
  186.       return "null";
  187.     }
  188.     return o.toString().replace("\n", "\n    ");
  189.   }
  190. }