com.lob.model.Zip Maven / Gradle / Ivy
Show all versions of lob-java Show documentation
/*
* Lob
* The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
*
* The version of the OpenAPI document: 1.3.0
* Contact: [email protected]
*
* 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.lob.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 com.lob.model.ZipCodeType;
import com.lob.model.ZipLookupCity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import java.util.HashMap;
import java.util.Map;
/**
* Zip
*/
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class Zip {
public static final String SERIALIZED_NAME_ZIP_CODE = "zip_code";
@SerializedName(SERIALIZED_NAME_ZIP_CODE)
private String zipCode;
/**
* A 5-digit ZIP code.
* @return zipCode
**/
@javax.annotation.Nullable
public String getZipCode() { return zipCode; }
public void setZipCode (String zipCode) throws IllegalArgumentException {
if(!zipCode.matches("^\\d{5}$")) {
throw new IllegalArgumentException("Invalid zip_code provided");
}
this.zipCode = zipCode;
}
public static final String SERIALIZED_NAME_ID = "id";
@SerializedName(SERIALIZED_NAME_ID)
private String id;
/**
* Unique identifier prefixed with `us_zip_`.
* @return id
**/
@javax.annotation.Nonnull
public String getId() { return id; }
public void setId (String id) throws IllegalArgumentException {
if(!id.matches("^us_zip_[a-zA-Z0-9]+$")) {
throw new IllegalArgumentException("Invalid id provided");
}
this.id = id;
}
public static final String SERIALIZED_NAME_CITIES = "cities";
@SerializedName(SERIALIZED_NAME_CITIES)
private List cities = new ArrayList<>();
public List getCities() {
if (this.cities == null) {
this.cities = new ArrayList();
}
return this.cities;
}
public static final String SERIALIZED_NAME_ZIP_CODE_TYPE = "zip_code_type";
@SerializedName(SERIALIZED_NAME_ZIP_CODE_TYPE)
private ZipCodeType zipCodeType;
/**
* Get zipCodeType
* @return zipCodeType
**/
@javax.annotation.Nonnull
@ApiModelProperty(required = true, value = "")
public ZipCodeType getZipCodeType() {
return zipCodeType;
}
/**
* Gets or Sets _object
*/
@JsonAdapter(ObjectEnum.Adapter.class)
public enum ObjectEnum {
US_ZIP_LOOKUP("us_zip_lookup");
private String value;
ObjectEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
public static ObjectEnum fromValue(String value) {
for (ObjectEnum b : ObjectEnum.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 ObjectEnum enumeration) throws IOException {
jsonWriter.value(enumeration.getValue());
}
@Override
public ObjectEnum read(final JsonReader jsonReader) throws IOException {
String value = jsonReader.nextString();
return ObjectEnum.fromValue(value);
}
}
}
public static final String SERIALIZED_NAME_OBJECT = "object";
@SerializedName(SERIALIZED_NAME_OBJECT)
private ObjectEnum _object = ObjectEnum.US_ZIP_LOOKUP;
/**
* Get _object
* @return _object
**/
@javax.annotation.Nonnull
@ApiModelProperty(required = true, value = "")
public ObjectEnum getObject() {
return _object;
}
/*
public Zip zipCode(String zipCode) {
this.zipCode = zipCode;
return this;
}
*/
/*
public Zip id(String id) {
this.id = id;
return this;
}
*/
/*
public Zip cities(List cities) {
this.cities = cities;
return this;
}
*/
public Zip addCitiesItem(ZipLookupCity citiesItem) {
this.cities.add(citiesItem);
return this;
}
public void setCities(List cities) {
this.cities = cities;
}
/*
public Zip zipCodeType(ZipCodeType zipCodeType) {
this.zipCodeType = zipCodeType;
return this;
}
*/
public void setZipCodeType(ZipCodeType zipCodeType) {
this.zipCodeType = zipCodeType;
}
/*
public Zip _object(ObjectEnum _object) {
this._object = _object;
return this;
}
*/
public void setObject(ObjectEnum _object) {
this._object = _object;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Zip zip = (Zip) o;
return Objects.equals(this.zipCode, zip.zipCode) &&
Objects.equals(this.id, zip.id) &&
Objects.equals(this.cities, zip.cities) &&
Objects.equals(this.zipCodeType, zip.zipCodeType) &&
Objects.equals(this._object, zip._object);
}
@Override
public int hashCode() {
return Objects.hash(zipCode, id, cities, zipCodeType, _object);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{\n");
sb.append(" zipCode: ").append(toIndentedString(zipCode)).append("\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" cities: ").append(toIndentedString(cities)).append("\n");
sb.append(" zipCodeType: ").append(toIndentedString(zipCodeType)).append("\n");
sb.append(" _object: ").append(toIndentedString(_object)).append("\n");
sb.append("}");
return sb.toString();
}
public Map toMap() {
Map localMap = new HashMap();
localMap.put("zip_code", zipCode);
localMap.put("id", id);
localMap.put("cities", cities);
localMap.put("zip_code_type", zipCodeType);
localMap.put("object", _object);
return localMap;
}
/**
* 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 ");
}
}