package com.lob.protocol.response; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.lob.id.CountryCode; import com.lob.id.ZipCode; import java.util.Collection; public class USVerificationResponse extends AbstractResponse { private static class Components { private String primaryNumber; private String streetPredirection; private String streetName; private String streetSuffix; private String streetPostdirection; private String secondaryDesignator; private String secondaryNumber; private String pmbDesignator; private String pmbNumber; private String extraSecondaryInformation; private String city; private String state; private String zipCode; private String zipCodePlus4; private String zipCodeType; private String deliveryPointBarcode; private String recordType; private String defaultBuildingAddress; private String county; private String countyFips; private String carrierRoute; private String carrierRouteType; @JsonCreator public Components( @JsonProperty("primary_number") final String primaryNumber, @JsonProperty("street_predirection") final String streetPredirection, @JsonProperty("street_name") final String streetName, @JsonProperty("street_suffix") final String streetSuffix, @JsonProperty("street_postdirection") final String streetPostdirection, @JsonProperty("secondary_designator") final String secondaryDesignator, @JsonProperty("secondary_number") final String secondaryNumber, @JsonProperty("pmb_designator") final String pmbDesignator, @JsonProperty("pmb_number") final String pmbNumber, @JsonProperty("extra_secondary_information") final String extraSecondaryInformation, @JsonProperty("city") final String city, @JsonProperty("state") final String state, @JsonProperty("zip_code") final String zipCode, @JsonProperty("zip_code_plus_4") final String zipCodePlus4, @JsonProperty("zip_code_type") final String zipCodeType, @JsonProperty("delivery_point_barcode") final String deliveryPointBarcode, @JsonProperty("record_type") final String recordType, @JsonProperty("default_building_address") final String defaultBuildingAddress, @JsonProperty("county") final String county, @JsonProperty("county_fips") final String countyFips, @JsonProperty("carrier_route") final String carrierRoute, @JsonProperty("carrier_route_type") final String carrierRouteType ) { this.primaryNumber = primaryNumber; this.streetPredirection = streetPredirection; this.streetName = streetName; this.streetSuffix = streetSuffix; this.streetPostdirection = streetPostdirection; this.secondaryDesignator = secondaryDesignator; this.secondaryNumber = secondaryNumber; this.pmbDesignator = pmbDesignator; this.pmbNumber = pmbNumber; this.extraSecondaryInformation = extraSecondaryInformation; this.city = city; this.state = state; this.zipCode = zipCode; this.zipCodePlus4 = zipCodePlus4; this.zipCodeType = zipCodeType; this.deliveryPointBarcode = deliveryPointBarcode; this.recordType = recordType; this.defaultBuildingAddress = defaultBuildingAddress; this.county = county; this.countyFips = countyFips; this.carrierRoute = carrierRoute; this.carrierRouteType = carrierRouteType; } public String getPrimaryNumber() { return primaryNumber; } public String getStreetPredirection() { return streetPredirection; } public String getStreetName() { return streetName; } public String getStreetSuffix() { return streetSuffix; } public String getStreetPostdirection() { return streetPostdirection; } public String getSecondaryDesignator() { return secondaryDesignator; } public String getSecondaryNumber() { return secondaryNumber; } public String getPmbDesignator() { return pmbDesignator; } public String getPmbNumber() { return pmbNumber; } public String getExtraSecondaryInformation() { return extraSecondaryInformation; } public String getCity() { return city; } public String getState() { return state; } public String getZipCode() { return zipCode; } public String getZipCodePlus4() { return zipCodePlus4; } public String getZipCodeType() { return zipCodeType; } public String getDeliveryPointBarcode() { return deliveryPointBarcode; } public String getRecordType() { return recordType; } public String getDefaultBuildingAddress() { return defaultBuildingAddress; } public String getCounty() { return county; } public String getCountyFips() { return countyFips; } public String getCarrierRoute() { return carrierRoute; } public String getCarrierRouteType() { return carrierRouteType; } } private static class Deliverability { private String dpvConfirmation; private String dpvCmra; private String dpvVacant; private Collection<String> dpvFootnotes; private String ewsMatch; private String lacsIndicator; private String lacsReturnCode; private String suiteReturnCode; @JsonCreator public Deliverability( @JsonProperty("dpv_confirmation") final String dpvConfirmation, @JsonProperty("dpv_cmra") final String dpvCmra, @JsonProperty("dpv_vacant") final String dpvVacant, @JsonProperty("dpv_footnotes") final Collection<String> dpvFootnotes, @JsonProperty("ews_match") final String ewsMatch, @JsonProperty("lacs_indicator") final String lacsIndicator, @JsonProperty("lacs_return_code") final String lacsReturnCode, @JsonProperty("suite_return_code") final String suiteReturnCode ) { this.dpvConfirmation = dpvConfirmation; this.dpvCmra = dpvCmra; this.dpvVacant = dpvVacant; this.dpvFootnotes = dpvFootnotes; this.ewsMatch = ewsMatch; this.lacsIndicator = lacsIndicator; this.lacsReturnCode = lacsReturnCode; this.suiteReturnCode = suiteReturnCode; } public String getDpvConfirmation() { return dpvConfirmation; } public String getDpvCmra() { return dpvCmra; } public String getDpvVacant() { return dpvVacant; } public Collection<String> getDpvFootnotes() { return dpvFootnotes; } public String getEwsMatch() { return ewsMatch; } public String getLacsIndicator() { return lacsIndicator; } public String getLacsReturnCode() { return lacsReturnCode; } public String getSuiteReturnCode() { return suiteReturnCode; } } @JsonProperty private final String id; @JsonProperty private final String recipient; @JsonProperty private final String primaryLine; @JsonProperty private final String secondaryLine; @JsonProperty private final String urbanization; @JsonProperty private final String lastLine; @JsonProperty private final String deliverability; @JsonProperty private final Components components; @JsonProperty private final Deliverability deliverabilityAnalysis; @JsonProperty private final String object; @JsonCreator public USVerificationResponse( @JsonProperty("id") final String id, @JsonProperty("recipient") final String recipient, @JsonProperty("primary_line") final String primaryLine, @JsonProperty("secondary_line") final String secondaryLine, @JsonProperty("urbanization") final String urbanization, @JsonProperty("last_line") final String lastLine, @JsonProperty("deliverability") final String deliverability, @JsonProperty("components") final Components components, @JsonProperty("deliverability_analysis") final Deliverability deliverabilityAnalysis, @JsonProperty("object") final String object ) { this.id = id; this.recipient = recipient; this.primaryLine = primaryLine; this.secondaryLine = secondaryLine; this.urbanization = urbanization; this.lastLine = lastLine; this.deliverability = deliverability; this.components = components; this.deliverabilityAnalysis = deliverabilityAnalysis; this.object = object; } public String getId() { return id; } public String getRecipient() { return recipient; } public String getPrimaryLine() { return primaryLine; } public String getSecondaryLine() { return secondaryLine; } public String getUrbanization() { return urbanization; } public String getLastLine() { return lastLine; } public String getDeliverability() { return deliverability; } public Components getComponents() { return components; } public Deliverability getDeliverabilityAnalysis() { return deliverabilityAnalysis; } public String getObject() { return object; } }