java/src/main/java/com/konfigthis/dojah/client/model/GetPhoneNumberResponseEntity.java
<filename>java/src/main/java/com/konfigthis/dojah/client/model/GetPhoneNumberResponseEntity.java<gh_stars>0/*
 * DOJAH APIs
 * Use Dojah to verify, onboard and manage user identity across Africa!
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by Konfig (https://konfigthis.com).
 * Do not edit the class manually.
 */


package com.konfigthis.dojah.client.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;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;
import org.apache.commons.lang3.StringUtils;

import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import com.konfigthis.dojah.client.JSON;

/**
 * GetPhoneNumberResponseEntity
 */
@javax.annotation.Generated(value = "Generated by https://konfigthis.com")
public class GetPhoneNumberResponseEntity {
  public static final String SERIALIZED_NAME_TITLE = "title";
  @SerializedName(SERIALIZED_NAME_TITLE)
  private String title;

  public static final String SERIALIZED_NAME_MSISDN = "msisdn";
  @SerializedName(SERIALIZED_NAME_MSISDN)
  private String msisdn;

  public static final String SERIALIZED_NAME_FIRST_NAME = "firstName";
  @SerializedName(SERIALIZED_NAME_FIRST_NAME)
  private String firstName;

  public static final String SERIALIZED_NAME_MIDDLE_NAME = "middleName";
  @SerializedName(SERIALIZED_NAME_MIDDLE_NAME)
  private String middleName;

  public static final String SERIALIZED_NAME_LAST_NAME = "lastName";
  @SerializedName(SERIALIZED_NAME_LAST_NAME)
  private String lastName;

  public static final String SERIALIZED_NAME_MARITAL_STATUS = "maritalStatus";
  @SerializedName(SERIALIZED_NAME_MARITAL_STATUS)
  private String maritalStatus;

  public static final String SERIALIZED_NAME_GENDER = "gender";
  @SerializedName(SERIALIZED_NAME_GENDER)
  private String gender;

  public static final String SERIALIZED_NAME_BIRTH_DATE = "birthDate";
  @SerializedName(SERIALIZED_NAME_BIRTH_DATE)
  private String birthDate;

  public static final String SERIALIZED_NAME_BIRTH_LGA = "birthLga";
  @SerializedName(SERIALIZED_NAME_BIRTH_LGA)
  private String birthLga;

  public static final String SERIALIZED_NAME_BIRTH_STATE = "birthState";
  @SerializedName(SERIALIZED_NAME_BIRTH_STATE)
  private String birthState;

  public static final String SERIALIZED_NAME_EDUCATIONAL_LEVEL = "educationalLevel";
  @SerializedName(SERIALIZED_NAME_EDUCATIONAL_LEVEL)
  private String educationalLevel;

  public static final String SERIALIZED_NAME_EMPLYMENT_STATUS = "emplymentStatus";
  @SerializedName(SERIALIZED_NAME_EMPLYMENT_STATUS)
  private String emplymentStatus;

  public static final String SERIALIZED_NAME_NSPOKEN_LANG = "nspokenLang";
  @SerializedName(SERIALIZED_NAME_NSPOKEN_LANG)
  private String nspokenLang;

  public static final String SERIALIZED_NAME_OSPOKENLANG = "ospokenlang";
  @SerializedName(SERIALIZED_NAME_OSPOKENLANG)
  private String ospokenlang;

  public static final String SERIALIZED_NAME_PROFESSION = "profession";
  @SerializedName(SERIALIZED_NAME_PROFESSION)
  private String profession;

  public static final String SERIALIZED_NAME_RELIGION = "religion";
  @SerializedName(SERIALIZED_NAME_RELIGION)
  private String religion;

  public static final String SERIALIZED_NAME_RESIDENCE_ADDRESS_LINE1 = "residenceAddressLine1";
  @SerializedName(SERIALIZED_NAME_RESIDENCE_ADDRESS_LINE1)
  private String residenceAddressLine1;

  public static final String SERIALIZED_NAME_RESIDENCE_TOWN = "residenceTown";
  @SerializedName(SERIALIZED_NAME_RESIDENCE_TOWN)
  private String residenceTown;

  public static final String SERIALIZED_NAME_RESIDENCE_LGA = "residenceLga";
  @SerializedName(SERIALIZED_NAME_RESIDENCE_LGA)
  private String residenceLga;

  public static final String SERIALIZED_NAME_RESIDENCE_STATE = "residenceState";
  @SerializedName(SERIALIZED_NAME_RESIDENCE_STATE)
  private String residenceState;

  public static final String SERIALIZED_NAME_RESIDENCE_STATUS = "residenceStatus";
  @SerializedName(SERIALIZED_NAME_RESIDENCE_STATUS)
  private String residenceStatus;

  public static final String SERIALIZED_NAME_SELF_ORIGIN_LGA = "selfOriginLga";
  @SerializedName(SERIALIZED_NAME_SELF_ORIGIN_LGA)
  private String selfOriginLga;

  public static final String SERIALIZED_NAME_SELF_ORIGIN_PLACE = "selfOriginPlace";
  @SerializedName(SERIALIZED_NAME_SELF_ORIGIN_PLACE)
  private String selfOriginPlace;

  public static final String SERIALIZED_NAME_SELF_ORIGIN_STATE = "selfOriginState";
  @SerializedName(SERIALIZED_NAME_SELF_ORIGIN_STATE)
  private String selfOriginState;

  public static final String SERIALIZED_NAME_STATE = "state";
  @SerializedName(SERIALIZED_NAME_STATE)
  private String state;

  public static final String SERIALIZED_NAME_LGA = "lga";
  @SerializedName(SERIALIZED_NAME_LGA)
  private String lga;

  public static final String SERIALIZED_NAME_NIN = "nin";
  @SerializedName(SERIALIZED_NAME_NIN)
  private String nin;

  public static final String SERIALIZED_NAME_HEIGHT = "height";
  @SerializedName(SERIALIZED_NAME_HEIGHT)
  private String height;

  public static final String SERIALIZED_NAME_PICTURE = "picture";
  @SerializedName(SERIALIZED_NAME_PICTURE)
  private String picture;

  public static final String SERIALIZED_NAME_STATUS = "status";
  @SerializedName(SERIALIZED_NAME_STATUS)
  private Double status;

  public GetPhoneNumberResponseEntity() {
  }

  public GetPhoneNumberResponseEntity title(String title) {

    
    
    
    
    this.title = title;
    return this;
  }

   /**
   * Get title
   * @return title
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Mr", value = "")

  public String getTitle() {
    return title;
  }


  public void setTitle(String title) {

    
    
    
    this.title = title;
  }


  public GetPhoneNumberResponseEntity msisdn(String msisdn) {

    
    
    
    
    this.msisdn = msisdn;
    return this;
  }

   /**
   * Get msisdn
   * @return msisdn
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "09011111111", value = "")

  public String getMsisdn() {
    return msisdn;
  }


  public void setMsisdn(String msisdn) {

    
    
    
    this.msisdn = msisdn;
  }


  public GetPhoneNumberResponseEntity firstName(String firstName) {

    
    
    
    
    this.firstName = firstName;
    return this;
  }

   /**
   * Get firstName
   * @return firstName
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "John", value = "")

  public String getFirstName() {
    return firstName;
  }


  public void setFirstName(String firstName) {

    
    
    
    this.firstName = firstName;
  }


  public GetPhoneNumberResponseEntity middleName(String middleName) {

    
    
    
    
    this.middleName = middleName;
    return this;
  }

   /**
   * Get middleName
   * @return middleName
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Doe", value = "")

  public String getMiddleName() {
    return middleName;
  }


  public void setMiddleName(String middleName) {

    
    
    
    this.middleName = middleName;
  }


  public GetPhoneNumberResponseEntity lastName(String lastName) {

    
    
    
    
    this.lastName = lastName;
    return this;
  }

   /**
   * Get lastName
   * @return lastName
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Doe", value = "")

  public String getLastName() {
    return lastName;
  }


  public void setLastName(String lastName) {

    
    
    
    this.lastName = lastName;
  }


  public GetPhoneNumberResponseEntity maritalStatus(String maritalStatus) {

    
    
    
    
    this.maritalStatus = maritalStatus;
    return this;
  }

   /**
   * Get maritalStatus
   * @return maritalStatus
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Married", value = "")

  public String getMaritalStatus() {
    return maritalStatus;
  }


  public void setMaritalStatus(String maritalStatus) {

    
    
    
    this.maritalStatus = maritalStatus;
  }


  public GetPhoneNumberResponseEntity gender(String gender) {

    
    
    
    
    this.gender = gender;
    return this;
  }

   /**
   * Get gender
   * @return gender
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Male", value = "")

  public String getGender() {
    return gender;
  }


  public void setGender(String gender) {

    
    
    
    this.gender = gender;
  }


  public GetPhoneNumberResponseEntity birthDate(String birthDate) {

    
    
    
    
    this.birthDate = birthDate;
    return this;
  }

   /**
   * Get birthDate
   * @return birthDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "11-11-1972", value = "")

  public String getBirthDate() {
    return birthDate;
  }


  public void setBirthDate(String birthDate) {

    
    
    
    this.birthDate = birthDate;
  }


  public GetPhoneNumberResponseEntity birthLga(String birthLga) {

    
    
    
    
    this.birthLga = birthLga;
    return this;
  }

   /**
   * Get birthLga
   * @return birthLga
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Ikeja", value = "")

  public String getBirthLga() {
    return birthLga;
  }


  public void setBirthLga(String birthLga) {

    
    
    
    this.birthLga = birthLga;
  }


  public GetPhoneNumberResponseEntity birthState(String birthState) {

    
    
    
    
    this.birthState = birthState;
    return this;
  }

   /**
   * Get birthState
   * @return birthState
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Lagos", value = "")

  public String getBirthState() {
    return birthState;
  }


  public void setBirthState(String birthState) {

    
    
    
    this.birthState = birthState;
  }


  public GetPhoneNumberResponseEntity educationalLevel(String educationalLevel) {

    
    
    
    
    this.educationalLevel = educationalLevel;
    return this;
  }

   /**
   * Get educationalLevel
   * @return educationalLevel
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Higher", value = "")

  public String getEducationalLevel() {
    return educationalLevel;
  }


  public void setEducationalLevel(String educationalLevel) {

    
    
    
    this.educationalLevel = educationalLevel;
  }


  public GetPhoneNumberResponseEntity emplymentStatus(String emplymentStatus) {

    
    
    
    
    this.emplymentStatus = emplymentStatus;
    return this;
  }

   /**
   * Get emplymentStatus
   * @return emplymentStatus
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "25 ikeja", value = "")

  public String getEmplymentStatus() {
    return emplymentStatus;
  }


  public void setEmplymentStatus(String emplymentStatus) {

    
    
    
    this.emplymentStatus = emplymentStatus;
  }


  public GetPhoneNumberResponseEntity nspokenLang(String nspokenLang) {

    
    
    
    
    this.nspokenLang = nspokenLang;
    return this;
  }

   /**
   * Get nspokenLang
   * @return nspokenLang
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "English", value = "")

  public String getNspokenLang() {
    return nspokenLang;
  }


  public void setNspokenLang(String nspokenLang) {

    
    
    
    this.nspokenLang = nspokenLang;
  }


  public GetPhoneNumberResponseEntity ospokenlang(String ospokenlang) {

    
    
    
    
    this.ospokenlang = ospokenlang;
    return this;
  }

   /**
   * Get ospokenlang
   * @return ospokenlang
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Yoruba", value = "")

  public String getOspokenlang() {
    return ospokenlang;
  }


  public void setOspokenlang(String ospokenlang) {

    
    
    
    this.ospokenlang = ospokenlang;
  }


  public GetPhoneNumberResponseEntity profession(String profession) {

    
    
    
    
    this.profession = profession;
    return this;
  }

   /**
   * Get profession
   * @return profession
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Tailor", value = "")

  public String getProfession() {
    return profession;
  }


  public void setProfession(String profession) {

    
    
    
    this.profession = profession;
  }


  public GetPhoneNumberResponseEntity religion(String religion) {

    
    
    
    
    this.religion = religion;
    return this;
  }

   /**
   * Get religion
   * @return religion
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Muslim", value = "")

  public String getReligion() {
    return religion;
  }


  public void setReligion(String religion) {

    
    
    
    this.religion = religion;
  }


  public GetPhoneNumberResponseEntity residenceAddressLine1(String residenceAddressLine1) {

    
    
    
    
    this.residenceAddressLine1 = residenceAddressLine1;
    return this;
  }

   /**
   * Get residenceAddressLine1
   * @return residenceAddressLine1
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "25 Agege motor ways", value = "")

  public String getResidenceAddressLine1() {
    return residenceAddressLine1;
  }


  public void setResidenceAddressLine1(String residenceAddressLine1) {

    
    
    
    this.residenceAddressLine1 = residenceAddressLine1;
  }


  public GetPhoneNumberResponseEntity residenceTown(String residenceTown) {

    
    
    
    
    this.residenceTown = residenceTown;
    return this;
  }

   /**
   * Get residenceTown
   * @return residenceTown
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Oshogbo", value = "")

  public String getResidenceTown() {
    return residenceTown;
  }


  public void setResidenceTown(String residenceTown) {

    
    
    
    this.residenceTown = residenceTown;
  }


  public GetPhoneNumberResponseEntity residenceLga(String residenceLga) {

    
    
    
    
    this.residenceLga = residenceLga;
    return this;
  }

   /**
   * Get residenceLga
   * @return residenceLga
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Ikeja", value = "")

  public String getResidenceLga() {
    return residenceLga;
  }


  public void setResidenceLga(String residenceLga) {

    
    
    
    this.residenceLga = residenceLga;
  }


  public GetPhoneNumberResponseEntity residenceState(String residenceState) {

    
    
    
    
    this.residenceState = residenceState;
    return this;
  }

   /**
   * Get residenceState
   * @return residenceState
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Lagos", value = "")

  public String getResidenceState() {
    return residenceState;
  }


  public void setResidenceState(String residenceState) {

    
    
    
    this.residenceState = residenceState;
  }


  public GetPhoneNumberResponseEntity residenceStatus(String residenceStatus) {

    
    
    
    
    this.residenceStatus = residenceStatus;
    return this;
  }

   /**
   * Get residenceStatus
   * @return residenceStatus
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Occupant", value = "")

  public String getResidenceStatus() {
    return residenceStatus;
  }


  public void setResidenceStatus(String residenceStatus) {

    
    
    
    this.residenceStatus = residenceStatus;
  }


  public GetPhoneNumberResponseEntity selfOriginLga(String selfOriginLga) {

    
    
    
    
    this.selfOriginLga = selfOriginLga;
    return this;
  }

   /**
   * Get selfOriginLga
   * @return selfOriginLga
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Lagos Island", value = "")

  public String getSelfOriginLga() {
    return selfOriginLga;
  }


  public void setSelfOriginLga(String selfOriginLga) {

    
    
    
    this.selfOriginLga = selfOriginLga;
  }


  public GetPhoneNumberResponseEntity selfOriginPlace(String selfOriginPlace) {

    
    
    
    
    this.selfOriginPlace = selfOriginPlace;
    return this;
  }

   /**
   * Get selfOriginPlace
   * @return selfOriginPlace
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Yaba", value = "")

  public String getSelfOriginPlace() {
    return selfOriginPlace;
  }


  public void setSelfOriginPlace(String selfOriginPlace) {

    
    
    
    this.selfOriginPlace = selfOriginPlace;
  }


  public GetPhoneNumberResponseEntity selfOriginState(String selfOriginState) {

    
    
    
    
    this.selfOriginState = selfOriginState;
    return this;
  }

   /**
   * Get selfOriginState
   * @return selfOriginState
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Muslim", value = "")

  public String getSelfOriginState() {
    return selfOriginState;
  }


  public void setSelfOriginState(String selfOriginState) {

    
    
    
    this.selfOriginState = selfOriginState;
  }


  public GetPhoneNumberResponseEntity state(String state) {

    
    
    
    
    this.state = state;
    return this;
  }

   /**
   * Get state
   * @return state
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Lagos", value = "")

  public String getState() {
    return state;
  }


  public void setState(String state) {

    
    
    
    this.state = state;
  }


  public GetPhoneNumberResponseEntity lga(String lga) {

    
    
    
    
    this.lga = lga;
    return this;
  }

   /**
   * Get lga
   * @return lga
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "Ikeja", value = "")

  public String getLga() {
    return lga;
  }


  public void setLga(String lga) {

    
    
    
    this.lga = lga;
  }


  public GetPhoneNumberResponseEntity nin(String nin) {

    
    
    
    
    this.nin = nin;
    return this;
  }

   /**
   * Get nin
   * @return nin
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "111111111111111", value = "")

  public String getNin() {
    return nin;
  }


  public void setNin(String nin) {

    
    
    
    this.nin = nin;
  }


  public GetPhoneNumberResponseEntity height(String height) {

    
    
    
    
    this.height = height;
    return this;
  }

   /**
   * Get height
   * @return height
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "5 9", value = "")

  public String getHeight() {
    return height;
  }


  public void setHeight(String height) {

    
    
    
    this.height = height;
  }


  public GetPhoneNumberResponseEntity picture(String picture) {

    
    
    
    
    this.picture = picture;
    return this;
  }

   /**
   * Get picture
   * @return picture
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "<base64 encoded image>", value = "")

  public String getPicture() {
    return picture;
  }


  public void setPicture(String picture) {

    
    
    
    this.picture = picture;
  }


  public GetPhoneNumberResponseEntity status(Double status) {

    
    
    
    
    this.status = status;
    return this;
  }

  public GetPhoneNumberResponseEntity status(Integer status) {

    
    
    
    
    this.status = status.doubleValue();
    return this;
  }

   /**
   * Get status
   * @return status
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "200", value = "")

  public Double getStatus() {
    return status;
  }


  public void setStatus(Double status) {

    
    
    
    this.status = status;
  }

  /**
   * A container for additional, undeclared properties.
   * This is a holder for any undeclared properties as specified with
   * the 'additionalProperties' keyword in the OAS document.
   */
  private Map<String, Object> additionalProperties;

  /**
   * Set the additional (undeclared) property with the specified name and value.
   * If the property does not already exist, create it otherwise replace it.
   *
   * @param key name of the property
   * @param value value of the property
   * @return the GetPhoneNumberResponseEntity instance itself
   */
  public GetPhoneNumberResponseEntity putAdditionalProperty(String key, Object value) {
    if (this.additionalProperties == null) {
        this.additionalProperties = new HashMap<String, Object>();
    }
    this.additionalProperties.put(key, value);
    return this;
  }

  /**
   * Return the additional (undeclared) property.
   *
   * @return a map of objects
   */
  public Map<String, Object> getAdditionalProperties() {
    return additionalProperties;
  }

  /**
   * Return the additional (undeclared) property with the specified name.
   *
   * @param key name of the property
   * @return an object
   */
  public Object getAdditionalProperty(String key) {
    if (this.additionalProperties == null) {
        return null;
    }
    return this.additionalProperties.get(key);
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    GetPhoneNumberResponseEntity getPhoneNumberResponseEntity = (GetPhoneNumberResponseEntity) o;
    return Objects.equals(this.title, getPhoneNumberResponseEntity.title) &&
        Objects.equals(this.msisdn, getPhoneNumberResponseEntity.msisdn) &&
        Objects.equals(this.firstName, getPhoneNumberResponseEntity.firstName) &&
        Objects.equals(this.middleName, getPhoneNumberResponseEntity.middleName) &&
        Objects.equals(this.lastName, getPhoneNumberResponseEntity.lastName) &&
        Objects.equals(this.maritalStatus, getPhoneNumberResponseEntity.maritalStatus) &&
        Objects.equals(this.gender, getPhoneNumberResponseEntity.gender) &&
        Objects.equals(this.birthDate, getPhoneNumberResponseEntity.birthDate) &&
        Objects.equals(this.birthLga, getPhoneNumberResponseEntity.birthLga) &&
        Objects.equals(this.birthState, getPhoneNumberResponseEntity.birthState) &&
        Objects.equals(this.educationalLevel, getPhoneNumberResponseEntity.educationalLevel) &&
        Objects.equals(this.emplymentStatus, getPhoneNumberResponseEntity.emplymentStatus) &&
        Objects.equals(this.nspokenLang, getPhoneNumberResponseEntity.nspokenLang) &&
        Objects.equals(this.ospokenlang, getPhoneNumberResponseEntity.ospokenlang) &&
        Objects.equals(this.profession, getPhoneNumberResponseEntity.profession) &&
        Objects.equals(this.religion, getPhoneNumberResponseEntity.religion) &&
        Objects.equals(this.residenceAddressLine1, getPhoneNumberResponseEntity.residenceAddressLine1) &&
        Objects.equals(this.residenceTown, getPhoneNumberResponseEntity.residenceTown) &&
        Objects.equals(this.residenceLga, getPhoneNumberResponseEntity.residenceLga) &&
        Objects.equals(this.residenceState, getPhoneNumberResponseEntity.residenceState) &&
        Objects.equals(this.residenceStatus, getPhoneNumberResponseEntity.residenceStatus) &&
        Objects.equals(this.selfOriginLga, getPhoneNumberResponseEntity.selfOriginLga) &&
        Objects.equals(this.selfOriginPlace, getPhoneNumberResponseEntity.selfOriginPlace) &&
        Objects.equals(this.selfOriginState, getPhoneNumberResponseEntity.selfOriginState) &&
        Objects.equals(this.state, getPhoneNumberResponseEntity.state) &&
        Objects.equals(this.lga, getPhoneNumberResponseEntity.lga) &&
        Objects.equals(this.nin, getPhoneNumberResponseEntity.nin) &&
        Objects.equals(this.height, getPhoneNumberResponseEntity.height) &&
        Objects.equals(this.picture, getPhoneNumberResponseEntity.picture) &&
        Objects.equals(this.status, getPhoneNumberResponseEntity.status)&&
        Objects.equals(this.additionalProperties, getPhoneNumberResponseEntity.additionalProperties);
  }

  @Override
  public int hashCode() {
    return Objects.hash(title, msisdn, firstName, middleName, lastName, maritalStatus, gender, birthDate, birthLga, birthState, educationalLevel, emplymentStatus, nspokenLang, ospokenlang, profession, religion, residenceAddressLine1, residenceTown, residenceLga, residenceState, residenceStatus, selfOriginLga, selfOriginPlace, selfOriginState, state, lga, nin, height, picture, status, additionalProperties);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class GetPhoneNumberResponseEntity {\n");
    sb.append("    title: ").append(toIndentedString(title)).append("\n");
    sb.append("    msisdn: ").append(toIndentedString(msisdn)).append("\n");
    sb.append("    firstName: ").append(toIndentedString(firstName)).append("\n");
    sb.append("    middleName: ").append(toIndentedString(middleName)).append("\n");
    sb.append("    lastName: ").append(toIndentedString(lastName)).append("\n");
    sb.append("    maritalStatus: ").append(toIndentedString(maritalStatus)).append("\n");
    sb.append("    gender: ").append(toIndentedString(gender)).append("\n");
    sb.append("    birthDate: ").append(toIndentedString(birthDate)).append("\n");
    sb.append("    birthLga: ").append(toIndentedString(birthLga)).append("\n");
    sb.append("    birthState: ").append(toIndentedString(birthState)).append("\n");
    sb.append("    educationalLevel: ").append(toIndentedString(educationalLevel)).append("\n");
    sb.append("    emplymentStatus: ").append(toIndentedString(emplymentStatus)).append("\n");
    sb.append("    nspokenLang: ").append(toIndentedString(nspokenLang)).append("\n");
    sb.append("    ospokenlang: ").append(toIndentedString(ospokenlang)).append("\n");
    sb.append("    profession: ").append(toIndentedString(profession)).append("\n");
    sb.append("    religion: ").append(toIndentedString(religion)).append("\n");
    sb.append("    residenceAddressLine1: ").append(toIndentedString(residenceAddressLine1)).append("\n");
    sb.append("    residenceTown: ").append(toIndentedString(residenceTown)).append("\n");
    sb.append("    residenceLga: ").append(toIndentedString(residenceLga)).append("\n");
    sb.append("    residenceState: ").append(toIndentedString(residenceState)).append("\n");
    sb.append("    residenceStatus: ").append(toIndentedString(residenceStatus)).append("\n");
    sb.append("    selfOriginLga: ").append(toIndentedString(selfOriginLga)).append("\n");
    sb.append("    selfOriginPlace: ").append(toIndentedString(selfOriginPlace)).append("\n");
    sb.append("    selfOriginState: ").append(toIndentedString(selfOriginState)).append("\n");
    sb.append("    state: ").append(toIndentedString(state)).append("\n");
    sb.append("    lga: ").append(toIndentedString(lga)).append("\n");
    sb.append("    nin: ").append(toIndentedString(nin)).append("\n");
    sb.append("    height: ").append(toIndentedString(height)).append("\n");
    sb.append("    picture: ").append(toIndentedString(picture)).append("\n");
    sb.append("    status: ").append(toIndentedString(status)).append("\n");
    sb.append("    additionalProperties: ").append(toIndentedString(additionalProperties)).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    ");
  }


  public static HashSet<String> openapiFields;
  public static HashSet<String> openapiRequiredFields;

  static {
    // a set of all properties/fields (JSON key names)
    openapiFields = new HashSet<String>();
    openapiFields.add("title");
    openapiFields.add("msisdn");
    openapiFields.add("firstName");
    openapiFields.add("middleName");
    openapiFields.add("lastName");
    openapiFields.add("maritalStatus");
    openapiFields.add("gender");
    openapiFields.add("birthDate");
    openapiFields.add("birthLga");
    openapiFields.add("birthState");
    openapiFields.add("educationalLevel");
    openapiFields.add("emplymentStatus");
    openapiFields.add("nspokenLang");
    openapiFields.add("ospokenlang");
    openapiFields.add("profession");
    openapiFields.add("religion");
    openapiFields.add("residenceAddressLine1");
    openapiFields.add("residenceTown");
    openapiFields.add("residenceLga");
    openapiFields.add("residenceState");
    openapiFields.add("residenceStatus");
    openapiFields.add("selfOriginLga");
    openapiFields.add("selfOriginPlace");
    openapiFields.add("selfOriginState");
    openapiFields.add("state");
    openapiFields.add("lga");
    openapiFields.add("nin");
    openapiFields.add("height");
    openapiFields.add("picture");
    openapiFields.add("status");

    // a set of required properties/fields (JSON key names)
    openapiRequiredFields = new HashSet<String>();
  }

 /**
  * Validates the JSON Object and throws an exception if issues found
  *
  * @param jsonObj JSON Object
  * @throws IOException if the JSON Object is invalid with respect to GetPhoneNumberResponseEntity
  */
  public static void validateJsonObject(JsonObject jsonObj) throws IOException {
      if (jsonObj == null) {
        if (!GetPhoneNumberResponseEntity.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null
          throw new IllegalArgumentException(String.format("The required field(s) %s in GetPhoneNumberResponseEntity is not found in the empty JSON string", GetPhoneNumberResponseEntity.openapiRequiredFields.toString()));
        }
      }
      if ((jsonObj.get("title") != null && !jsonObj.get("title").isJsonNull()) && !jsonObj.get("title").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("title").toString()));
      }
      if ((jsonObj.get("msisdn") != null && !jsonObj.get("msisdn").isJsonNull()) && !jsonObj.get("msisdn").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `msisdn` to be a primitive type in the JSON string but got `%s`", jsonObj.get("msisdn").toString()));
      }
      if ((jsonObj.get("firstName") != null && !jsonObj.get("firstName").isJsonNull()) && !jsonObj.get("firstName").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `firstName` to be a primitive type in the JSON string but got `%s`", jsonObj.get("firstName").toString()));
      }
      if ((jsonObj.get("middleName") != null && !jsonObj.get("middleName").isJsonNull()) && !jsonObj.get("middleName").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `middleName` to be a primitive type in the JSON string but got `%s`", jsonObj.get("middleName").toString()));
      }
      if ((jsonObj.get("lastName") != null && !jsonObj.get("lastName").isJsonNull()) && !jsonObj.get("lastName").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `lastName` to be a primitive type in the JSON string but got `%s`", jsonObj.get("lastName").toString()));
      }
      if ((jsonObj.get("maritalStatus") != null && !jsonObj.get("maritalStatus").isJsonNull()) && !jsonObj.get("maritalStatus").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `maritalStatus` to be a primitive type in the JSON string but got `%s`", jsonObj.get("maritalStatus").toString()));
      }
      if ((jsonObj.get("gender") != null && !jsonObj.get("gender").isJsonNull()) && !jsonObj.get("gender").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `gender` to be a primitive type in the JSON string but got `%s`", jsonObj.get("gender").toString()));
      }
      if ((jsonObj.get("birthDate") != null && !jsonObj.get("birthDate").isJsonNull()) && !jsonObj.get("birthDate").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `birthDate` to be a primitive type in the JSON string but got `%s`", jsonObj.get("birthDate").toString()));
      }
      if ((jsonObj.get("birthLga") != null && !jsonObj.get("birthLga").isJsonNull()) && !jsonObj.get("birthLga").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `birthLga` to be a primitive type in the JSON string but got `%s`", jsonObj.get("birthLga").toString()));
      }
      if ((jsonObj.get("birthState") != null && !jsonObj.get("birthState").isJsonNull()) && !jsonObj.get("birthState").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `birthState` to be a primitive type in the JSON string but got `%s`", jsonObj.get("birthState").toString()));
      }
      if ((jsonObj.get("educationalLevel") != null && !jsonObj.get("educationalLevel").isJsonNull()) && !jsonObj.get("educationalLevel").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `educationalLevel` to be a primitive type in the JSON string but got `%s`", jsonObj.get("educationalLevel").toString()));
      }
      if ((jsonObj.get("emplymentStatus") != null && !jsonObj.get("emplymentStatus").isJsonNull()) && !jsonObj.get("emplymentStatus").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `emplymentStatus` to be a primitive type in the JSON string but got `%s`", jsonObj.get("emplymentStatus").toString()));
      }
      if ((jsonObj.get("nspokenLang") != null && !jsonObj.get("nspokenLang").isJsonNull()) && !jsonObj.get("nspokenLang").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `nspokenLang` to be a primitive type in the JSON string but got `%s`", jsonObj.get("nspokenLang").toString()));
      }
      if ((jsonObj.get("ospokenlang") != null && !jsonObj.get("ospokenlang").isJsonNull()) && !jsonObj.get("ospokenlang").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `ospokenlang` to be a primitive type in the JSON string but got `%s`", jsonObj.get("ospokenlang").toString()));
      }
      if ((jsonObj.get("profession") != null && !jsonObj.get("profession").isJsonNull()) && !jsonObj.get("profession").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `profession` to be a primitive type in the JSON string but got `%s`", jsonObj.get("profession").toString()));
      }
      if ((jsonObj.get("religion") != null && !jsonObj.get("religion").isJsonNull()) && !jsonObj.get("religion").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `religion` to be a primitive type in the JSON string but got `%s`", jsonObj.get("religion").toString()));
      }
      if ((jsonObj.get("residenceAddressLine1") != null && !jsonObj.get("residenceAddressLine1").isJsonNull()) && !jsonObj.get("residenceAddressLine1").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `residenceAddressLine1` to be a primitive type in the JSON string but got `%s`", jsonObj.get("residenceAddressLine1").toString()));
      }
      if ((jsonObj.get("residenceTown") != null && !jsonObj.get("residenceTown").isJsonNull()) && !jsonObj.get("residenceTown").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `residenceTown` to be a primitive type in the JSON string but got `%s`", jsonObj.get("residenceTown").toString()));
      }
      if ((jsonObj.get("residenceLga") != null && !jsonObj.get("residenceLga").isJsonNull()) && !jsonObj.get("residenceLga").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `residenceLga` to be a primitive type in the JSON string but got `%s`", jsonObj.get("residenceLga").toString()));
      }
      if ((jsonObj.get("residenceState") != null && !jsonObj.get("residenceState").isJsonNull()) && !jsonObj.get("residenceState").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `residenceState` to be a primitive type in the JSON string but got `%s`", jsonObj.get("residenceState").toString()));
      }
      if ((jsonObj.get("residenceStatus") != null && !jsonObj.get("residenceStatus").isJsonNull()) && !jsonObj.get("residenceStatus").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `residenceStatus` to be a primitive type in the JSON string but got `%s`", jsonObj.get("residenceStatus").toString()));
      }
      if ((jsonObj.get("selfOriginLga") != null && !jsonObj.get("selfOriginLga").isJsonNull()) && !jsonObj.get("selfOriginLga").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `selfOriginLga` to be a primitive type in the JSON string but got `%s`", jsonObj.get("selfOriginLga").toString()));
      }
      if ((jsonObj.get("selfOriginPlace") != null && !jsonObj.get("selfOriginPlace").isJsonNull()) && !jsonObj.get("selfOriginPlace").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `selfOriginPlace` to be a primitive type in the JSON string but got `%s`", jsonObj.get("selfOriginPlace").toString()));
      }
      if ((jsonObj.get("selfOriginState") != null && !jsonObj.get("selfOriginState").isJsonNull()) && !jsonObj.get("selfOriginState").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `selfOriginState` to be a primitive type in the JSON string but got `%s`", jsonObj.get("selfOriginState").toString()));
      }
      if ((jsonObj.get("state") != null && !jsonObj.get("state").isJsonNull()) && !jsonObj.get("state").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `state` to be a primitive type in the JSON string but got `%s`", jsonObj.get("state").toString()));
      }
      if ((jsonObj.get("lga") != null && !jsonObj.get("lga").isJsonNull()) && !jsonObj.get("lga").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `lga` to be a primitive type in the JSON string but got `%s`", jsonObj.get("lga").toString()));
      }
      if ((jsonObj.get("nin") != null && !jsonObj.get("nin").isJsonNull()) && !jsonObj.get("nin").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `nin` to be a primitive type in the JSON string but got `%s`", jsonObj.get("nin").toString()));
      }
      if ((jsonObj.get("height") != null && !jsonObj.get("height").isJsonNull()) && !jsonObj.get("height").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `height` to be a primitive type in the JSON string but got `%s`", jsonObj.get("height").toString()));
      }
      if ((jsonObj.get("picture") != null && !jsonObj.get("picture").isJsonNull()) && !jsonObj.get("picture").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `picture` to be a primitive type in the JSON string but got `%s`", jsonObj.get("picture").toString()));
      }
  }

  public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
    @SuppressWarnings("unchecked")
    @Override
    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
       if (!GetPhoneNumberResponseEntity.class.isAssignableFrom(type.getRawType())) {
         return null; // this class only serializes 'GetPhoneNumberResponseEntity' and its subtypes
       }
       final TypeAdapter<JsonElement> elementAdapter = gson.getAdapter(JsonElement.class);
       final TypeAdapter<GetPhoneNumberResponseEntity> thisAdapter
                        = gson.getDelegateAdapter(this, TypeToken.get(GetPhoneNumberResponseEntity.class));

       return (TypeAdapter<T>) new TypeAdapter<GetPhoneNumberResponseEntity>() {
           @Override
           public void write(JsonWriter out, GetPhoneNumberResponseEntity value) throws IOException {
             JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
             obj.remove("additionalProperties");
             // serialize additonal properties
             if (value.getAdditionalProperties() != null) {
               for (Map.Entry<String, Object> entry : value.getAdditionalProperties().entrySet()) {
                 if (entry.getValue() instanceof String)
                   obj.addProperty(entry.getKey(), (String) entry.getValue());
                 else if (entry.getValue() instanceof Number)
                   obj.addProperty(entry.getKey(), (Number) entry.getValue());
                 else if (entry.getValue() instanceof Boolean)
                   obj.addProperty(entry.getKey(), (Boolean) entry.getValue());
                 else if (entry.getValue() instanceof Character)
                   obj.addProperty(entry.getKey(), (Character) entry.getValue());
                 else {
                   obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
                 }
               }
             }
             elementAdapter.write(out, obj);
           }

           @Override
           public GetPhoneNumberResponseEntity read(JsonReader in) throws IOException {
             JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
             validateJsonObject(jsonObj);
             // store additional fields in the deserialized instance
             GetPhoneNumberResponseEntity instance = thisAdapter.fromJsonTree(jsonObj);
             for (Map.Entry<String, JsonElement> entry : jsonObj.entrySet()) {
               if (!openapiFields.contains(entry.getKey())) {
                 if (entry.getValue().isJsonPrimitive()) { // primitive type
                   if (entry.getValue().getAsJsonPrimitive().isString())
                     instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString());
                   else if (entry.getValue().getAsJsonPrimitive().isNumber())
                     instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber());
                   else if (entry.getValue().getAsJsonPrimitive().isBoolean())
                     instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean());
                   else
                     throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString()));
                 } else if (entry.getValue().isJsonArray()) {
                     instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class));
                 } else { // JSON object
                     instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class));
                 }
               }
             }
             return instance;
           }

       }.nullSafe();
    }
  }

 /**
  * Create an instance of GetPhoneNumberResponseEntity given an JSON string
  *
  * @param jsonString JSON string
  * @return An instance of GetPhoneNumberResponseEntity
  * @throws IOException if the JSON string is invalid with respect to GetPhoneNumberResponseEntity
  */
  public static GetPhoneNumberResponseEntity fromJson(String jsonString) throws IOException {
    return JSON.getGson().fromJson(jsonString, GetPhoneNumberResponseEntity.class);
  }

 /**
  * Convert an instance of GetPhoneNumberResponseEntity to an JSON string
  *
  * @return JSON string
  */
  public String toJson() {
    return JSON.getGson().toJson(this);
  }
}

