All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.GBSEcom.model.Document Maven / Gradle / Ivy

/*
 * Payment Gateway API Specification.
 * The documentation here is designed to provide all of the technical guidance required to consume and integrate with our APIs for payment processing. To learn more about our APIs please visit https://docs.firstdata.com/org/gateway.
 *
 * The version of the OpenAPI document: 21.2.0.20210406.001
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.github.GBSEcom.model;

import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;

/**
 * Document information.
 */
@ApiModel(description = "Document information.")

public class Document {
  /**
   * Document type.
   */
  @JsonAdapter(TypeEnum.Adapter.class)
  public enum TypeEnum {
    NATIONAL_IDENTITY("NATIONAL_IDENTITY"),
    
    SINGLE_TAX_IDENTIFICATION("SINGLE_TAX_IDENTIFICATION"),
    
    SINGLE_CODE_OF_LABOR_IDENTIFICATION("SINGLE_CODE_OF_LABOR_IDENTIFICATION"),
    
    BOOK_ENLISTMENT("BOOK_ENLISTMENT"),
    
    CIVIC_NOTEBOOK("CIVIC_NOTEBOOK"),
    
    PASSPORT("PASSPORT");

    private String value;

    TypeEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static TypeEnum fromValue(String value) {
      for (TypeEnum b : TypeEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    public static class Adapter extends TypeAdapter {
      @Override
      public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public TypeEnum read(final JsonReader jsonReader) throws IOException {
        String value = jsonReader.nextString();
        return TypeEnum.fromValue(value);
      }
    }
  }

  public static final String SERIALIZED_NAME_TYPE = "type";
  @SerializedName(SERIALIZED_NAME_TYPE)
  private TypeEnum type;

  public static final String SERIALIZED_NAME_NUMBER = "number";
  @SerializedName(SERIALIZED_NAME_NUMBER)
  private String number;


  public Document type(TypeEnum type) {
    
    this.type = type;
    return this;
  }

   /**
   * Document type.
   * @return type
  **/
  @ApiModelProperty(example = "NATIONAL_IDENTITY", required = true, value = "Document type.")

  public TypeEnum getType() {
    return type;
  }



  public void setType(TypeEnum type) {
    this.type = type;
  }


  public Document number(String number) {
    
    this.number = number;
    return this;
  }

   /**
   * Document number.
   * @return number
  **/
  @ApiModelProperty(example = "12345666544", required = true, value = "Document number.")

  public String getNumber() {
    return number;
  }



  public void setNumber(String number) {
    this.number = number;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    Document document = (Document) o;
    return Objects.equals(this.type, document.type) &&
        Objects.equals(this.number, document.number);
  }

  @Override
  public int hashCode() {
    return Objects.hash(type, number);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class Document {\n");
    sb.append("    type: ").append(toIndentedString(type)).append("\n");
    sb.append("    number: ").append(toIndentedString(number)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy