content: /*
   * Management API
   *
   * The version of the OpenAPI document: 3
   *
   *
   * 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.adyen.model.management;
  
  import com.fasterxml.jackson.annotation.JsonInclude;
  import com.fasterxml.jackson.annotation.JsonProperty;
  import com.fasterxml.jackson.annotation.JsonPropertyOrder;
  import com.fasterxml.jackson.core.JsonProcessingException;
  import java.util.*;
  
  /** TerminalConnectivity */
  @JsonPropertyOrder({
    TerminalConnectivity.JSON_PROPERTY_BLUETOOTH,
    TerminalConnectivity.JSON_PROPERTY_CELLULAR,
    TerminalConnectivity.JSON_PROPERTY_ETHERNET,
    TerminalConnectivity.JSON_PROPERTY_WIFI
  })
  public class TerminalConnectivity {
    public static final String JSON_PROPERTY_BLUETOOTH = "bluetooth";
    private TerminalConnectivityBluetooth bluetooth;
  
    public static final String JSON_PROPERTY_CELLULAR = "cellular";
    private TerminalConnectivityCellular cellular;
  
    public static final String JSON_PROPERTY_ETHERNET = "ethernet";
    private TerminalConnectivityEthernet ethernet;
  
    public static final String JSON_PROPERTY_WIFI = "wifi";
    private TerminalConnectivityWifi wifi;
  
    public TerminalConnectivity() {}
  
    /**
     * bluetooth
     *
     * @param bluetooth
     * @return the current {@code TerminalConnectivity} instance, allowing for method chaining
     */
    public TerminalConnectivity bluetooth(TerminalConnectivityBluetooth bluetooth) {
      this.bluetooth = bluetooth;
      return this;
    }
  
    /**
     * Get bluetooth
     *
     * @return bluetooth
     */
    @JsonProperty(JSON_PROPERTY_BLUETOOTH)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public TerminalConnectivityBluetooth getBluetooth() {
      return bluetooth;
    }
  
    /**
     * bluetooth
     *
     * @param bluetooth
     */
    @JsonProperty(JSON_PROPERTY_BLUETOOTH)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setBluetooth(TerminalConnectivityBluetooth bluetooth) {
      this.bluetooth = bluetooth;
    }
  
    /**
     * cellular
     *
     * @param cellular
     * @return the current {@code TerminalConnectivity} instance, allowing for method chaining
     */
    public TerminalConnectivity cellular(TerminalConnectivityCellular cellular) {
      this.cellular = cellular;
      return this;
    }
  
    /**
     * Get cellular
     *
     * @return cellular
     */
    @JsonProperty(JSON_PROPERTY_CELLULAR)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public TerminalConnectivityCellular getCellular() {
      return cellular;
    }
  
    /**
     * cellular
     *
     * @param cellular
     */
    @JsonProperty(JSON_PROPERTY_CELLULAR)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setCellular(TerminalConnectivityCellular cellular) {
      this.cellular = cellular;
    }
  
    /**
     * ethernet
     *
     * @param ethernet
     * @return the current {@code TerminalConnectivity} instance, allowing for method chaining
     */
    public TerminalConnectivity ethernet(TerminalConnectivityEthernet ethernet) {
      this.ethernet = ethernet;
      return this;
    }
  
    /**
     * Get ethernet
     *
     * @return ethernet
     */
    @JsonProperty(JSON_PROPERTY_ETHERNET)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public TerminalConnectivityEthernet getEthernet() {
      return ethernet;
    }
  
    /**
     * ethernet
     *
     * @param ethernet
     */
    @JsonProperty(JSON_PROPERTY_ETHERNET)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setEthernet(TerminalConnectivityEthernet ethernet) {
      this.ethernet = ethernet;
    }
  
    /**
     * wifi
     *
     * @param wifi
     * @return the current {@code TerminalConnectivity} instance, allowing for method chaining
     */
    public TerminalConnectivity wifi(TerminalConnectivityWifi wifi) {
      this.wifi = wifi;
      return this;
    }
  
    /**
     * Get wifi
     *
     * @return wifi
     */
    @JsonProperty(JSON_PROPERTY_WIFI)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public TerminalConnectivityWifi getWifi() {
      return wifi;
    }
  
    /**
     * wifi
     *
     * @param wifi
     */
    @JsonProperty(JSON_PROPERTY_WIFI)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setWifi(TerminalConnectivityWifi wifi) {
      this.wifi = wifi;
    }
  
    /** Return true if this TerminalConnectivity object is equal to o. */
    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }
      TerminalConnectivity terminalConnectivity = (TerminalConnectivity) o;
      return Objects.equals(this.bluetooth, terminalConnectivity.bluetooth)
          && Objects.equals(this.cellular, terminalConnectivity.cellular)
          && Objects.equals(this.ethernet, terminalConnectivity.ethernet)
          && Objects.equals(this.wifi, terminalConnectivity.wifi);
    }
  
    @Override
    public int hashCode() {
      return Objects.hash(bluetooth, cellular, ethernet, wifi);
    }
  
    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class TerminalConnectivity {\n");
      sb.append("    bluetooth: ").append(toIndentedString(bluetooth)).append("\n");
      sb.append("    cellular: ").append(toIndentedString(cellular)).append("\n");
      sb.append("    ethernet: ").append(toIndentedString(ethernet)).append("\n");
      sb.append("    wifi: ").append(toIndentedString(wifi)).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(Object o) {
      if (o == null) {
        return "null";
      }
      return o.toString().replace("\n", "\n    ");
    }
  
    /**
     * Create an instance of TerminalConnectivity given an JSON string
     *
     * @param jsonString JSON string
     * @return An instance of TerminalConnectivity
     * @throws JsonProcessingException if the JSON string is invalid with respect to
     *     TerminalConnectivity
     */
    public static TerminalConnectivity fromJson(String jsonString) throws JsonProcessingException {
      return JSON.getMapper().readValue(jsonString, TerminalConnectivity.class);
    }
  
    /**
     * Convert an instance of TerminalConnectivity to an JSON string
     *
     * @return JSON string
     */
    public String toJson() throws JsonProcessingException {
      return JSON.getMapper().writeValueAsString(this);
    }
  }
  