no.nav.sbl.soknadsosialhjelp.soknad.JsonSoknad Maven / Gradle / Ivy
package no.nav.sbl.soknadsosialhjelp.soknad;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* JSON-formatert søknad om sosialhjelp.
*
* Encoding er UTF-8.
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"version",
"data",
"driftsinformasjon",
"kompatibilitet"
})
public class JsonSoknad {
/**
* Søknadsdataversjonen.
*
* Versjonsnummeret følger reglene definert i "https://semver.org/" med følgende unntak/presiseringer:
* 1. Ny majorversjon betyr en ny søknadsfil.
* 2. Ny minorversjon betyr at feltet "kompatibilitet" kan ha blitt brukt.
* 3. Ny patchversjon brukes ved endringer som skjer bakoverkompatibelt uten bruk av "kompatibilitet"-feltet.
* (Required)
*
*/
@JsonProperty("version")
@JsonPropertyDescription("Versjonsnummeret f\u00f8lger reglene definert i \"https://semver.org/\" med f\u00f8lgende unntak/presiseringer: \n1. Ny majorversjon betyr en ny s\u00f8knadsfil.\n2. Ny minorversjon betyr at feltet \"kompatibilitet\" kan ha blitt brukt.\n3. Ny patchversjon brukes ved endringer som skjer bakoverkompatibelt uten bruk av \"kompatibilitet\"-feltet.")
private String version = "1.0.3";
/**
* Inneholder søknadsdataene uten meta- og kompatibilitetsdata.
*
*
* (Required)
*
*/
@JsonProperty("data")
private JsonData data;
/**
*
* (Required)
*
*/
@JsonProperty("driftsinformasjon")
private String driftsinformasjon;
/**
* Liste med kompatibilitetstekster
*
* Det er et MÅ-krav å vise saksbehandler alle kompatibilitetstekster for versjonen man parser soknads-JSON-en med. Det anbefales å ha et avsnitt (eller tilsvarende) mellom hver enkelt kompatibilitetstekst.
* (Required)
*
*/
@JsonProperty("kompatibilitet")
@JsonPropertyDescription("Det er et M\u00c5-krav \u00e5 vise saksbehandler alle kompatibilitetstekster for versjonen man parser soknads-JSON-en med. Det anbefales \u00e5 ha et avsnitt (eller tilsvarende) mellom hver enkelt kompatibilitetstekst.")
private List kompatibilitet = new ArrayList();
@JsonIgnore
private Map additionalProperties = new HashMap();
/**
* Søknadsdataversjonen.
*
* Versjonsnummeret følger reglene definert i "https://semver.org/" med følgende unntak/presiseringer:
* 1. Ny majorversjon betyr en ny søknadsfil.
* 2. Ny minorversjon betyr at feltet "kompatibilitet" kan ha blitt brukt.
* 3. Ny patchversjon brukes ved endringer som skjer bakoverkompatibelt uten bruk av "kompatibilitet"-feltet.
* (Required)
*
*/
@JsonProperty("version")
public String getVersion() {
return version;
}
/**
* Søknadsdataversjonen.
*
* Versjonsnummeret følger reglene definert i "https://semver.org/" med følgende unntak/presiseringer:
* 1. Ny majorversjon betyr en ny søknadsfil.
* 2. Ny minorversjon betyr at feltet "kompatibilitet" kan ha blitt brukt.
* 3. Ny patchversjon brukes ved endringer som skjer bakoverkompatibelt uten bruk av "kompatibilitet"-feltet.
* (Required)
*
*/
@JsonProperty("version")
public void setVersion(String version) {
this.version = version;
}
public JsonSoknad withVersion(String version) {
this.version = version;
return this;
}
/**
* Inneholder søknadsdataene uten meta- og kompatibilitetsdata.
*
*
* (Required)
*
*/
@JsonProperty("data")
public JsonData getData() {
return data;
}
/**
* Inneholder søknadsdataene uten meta- og kompatibilitetsdata.
*
*
* (Required)
*
*/
@JsonProperty("data")
public void setData(JsonData data) {
this.data = data;
}
public JsonSoknad withData(JsonData data) {
this.data = data;
return this;
}
/**
*
* (Required)
*
*/
@JsonProperty("driftsinformasjon")
public String getDriftsinformasjon() {
return driftsinformasjon;
}
/**
*
* (Required)
*
*/
@JsonProperty("driftsinformasjon")
public void setDriftsinformasjon(String driftsinformasjon) {
this.driftsinformasjon = driftsinformasjon;
}
public JsonSoknad withDriftsinformasjon(String driftsinformasjon) {
this.driftsinformasjon = driftsinformasjon;
return this;
}
/**
* Liste med kompatibilitetstekster
*
* Det er et MÅ-krav å vise saksbehandler alle kompatibilitetstekster for versjonen man parser soknads-JSON-en med. Det anbefales å ha et avsnitt (eller tilsvarende) mellom hver enkelt kompatibilitetstekst.
* (Required)
*
*/
@JsonProperty("kompatibilitet")
public List getKompatibilitet() {
return kompatibilitet;
}
/**
* Liste med kompatibilitetstekster
*
* Det er et MÅ-krav å vise saksbehandler alle kompatibilitetstekster for versjonen man parser soknads-JSON-en med. Det anbefales å ha et avsnitt (eller tilsvarende) mellom hver enkelt kompatibilitetstekst.
* (Required)
*
*/
@JsonProperty("kompatibilitet")
public void setKompatibilitet(List kompatibilitet) {
this.kompatibilitet = kompatibilitet;
}
public JsonSoknad withKompatibilitet(List kompatibilitet) {
this.kompatibilitet = kompatibilitet;
return this;
}
@JsonAnyGetter
public Map getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
public JsonSoknad withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("version", version).append("data", data).append("driftsinformasjon", driftsinformasjon).append("kompatibilitet", kompatibilitet).append("additionalProperties", additionalProperties).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(kompatibilitet).append(driftsinformasjon).append(additionalProperties).append(data).append(version).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof JsonSoknad) == false) {
return false;
}
JsonSoknad rhs = ((JsonSoknad) other);
return new EqualsBuilder().append(kompatibilitet, rhs.kompatibilitet).append(driftsinformasjon, rhs.driftsinformasjon).append(additionalProperties, rhs.additionalProperties).append(data, rhs.data).append(version, rhs.version).isEquals();
}
}