no.nav.sbl.soknadsosialhjelp.soknad.arbeid.JsonArbeidssituasjon Maven / Gradle / Ivy
package no.nav.sbl.soknadsosialhjelp.soknad.arbeid;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonCreator;
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 com.fasterxml.jackson.annotation.JsonValue;
import no.nav.sbl.soknadsosialhjelp.soknad.common.JsonKildeBruker;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* En oppsummering av arbeidssituasjonen.
*
* Hvis situasjon mangler vil "forhold" være satt (og mottsatt).
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"kilde",
"erIJobb",
"jobbGrad"
})
public class JsonArbeidssituasjon {
/**
* Alltid bruker eller utdatert.
*
*
* (Required)
*
*/
@JsonProperty("kilde")
private JsonKildeBruker kilde = JsonKildeBruker.fromValue("bruker");
/**
* Hvis "erIJobb" mangler betyr dette at bruker ikke har besvart spørsmålet i skjemaet.
*
*/
@JsonProperty("erIJobb")
@JsonPropertyDescription("Hvis \"erIJobb\" mangler betyr dette at bruker ikke har besvart sp\u00f8rsm\u00e5let i skjemaet.")
private Boolean erIJobb;
/**
* Hvis "jobbGrad" mangler betyr dette at bruker ikke har besvart spørsmålet i skjemaet.
*
*/
@JsonProperty("jobbGrad")
@JsonPropertyDescription("Hvis \"jobbGrad\" mangler betyr dette at bruker ikke har besvart sp\u00f8rsm\u00e5let i skjemaet.")
private JsonArbeidssituasjon.JobbGrad jobbGrad;
@JsonIgnore
private Map additionalProperties = new HashMap();
/**
* Alltid bruker eller utdatert.
*
*
* (Required)
*
*/
@JsonProperty("kilde")
public JsonKildeBruker getKilde() {
return kilde;
}
/**
* Alltid bruker eller utdatert.
*
*
* (Required)
*
*/
@JsonProperty("kilde")
public void setKilde(JsonKildeBruker kilde) {
this.kilde = kilde;
}
public JsonArbeidssituasjon withKilde(JsonKildeBruker kilde) {
this.kilde = kilde;
return this;
}
/**
* Hvis "erIJobb" mangler betyr dette at bruker ikke har besvart spørsmålet i skjemaet.
*
*/
@JsonProperty("erIJobb")
public Boolean getErIJobb() {
return erIJobb;
}
/**
* Hvis "erIJobb" mangler betyr dette at bruker ikke har besvart spørsmålet i skjemaet.
*
*/
@JsonProperty("erIJobb")
public void setErIJobb(Boolean erIJobb) {
this.erIJobb = erIJobb;
}
public JsonArbeidssituasjon withErIJobb(Boolean erIJobb) {
this.erIJobb = erIJobb;
return this;
}
/**
* Hvis "jobbGrad" mangler betyr dette at bruker ikke har besvart spørsmålet i skjemaet.
*
*/
@JsonProperty("jobbGrad")
public JsonArbeidssituasjon.JobbGrad getJobbGrad() {
return jobbGrad;
}
/**
* Hvis "jobbGrad" mangler betyr dette at bruker ikke har besvart spørsmålet i skjemaet.
*
*/
@JsonProperty("jobbGrad")
public void setJobbGrad(JsonArbeidssituasjon.JobbGrad jobbGrad) {
this.jobbGrad = jobbGrad;
}
public JsonArbeidssituasjon withJobbGrad(JsonArbeidssituasjon.JobbGrad jobbGrad) {
this.jobbGrad = jobbGrad;
return this;
}
@JsonAnyGetter
public Map getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
public JsonArbeidssituasjon withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("kilde", kilde).append("erIJobb", erIJobb).append("jobbGrad", jobbGrad).append("additionalProperties", additionalProperties).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(jobbGrad).append(kilde).append(additionalProperties).append(erIJobb).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof JsonArbeidssituasjon) == false) {
return false;
}
JsonArbeidssituasjon rhs = ((JsonArbeidssituasjon) other);
return new EqualsBuilder().append(jobbGrad, rhs.jobbGrad).append(kilde, rhs.kilde).append(additionalProperties, rhs.additionalProperties).append(erIJobb, rhs.erIJobb).isEquals();
}
public enum JobbGrad {
HELTID("heltid"),
DELTID("deltid");
private final String value;
private final static Map CONSTANTS = new HashMap();
static {
for (JsonArbeidssituasjon.JobbGrad c: values()) {
CONSTANTS.put(c.value, c);
}
}
private JobbGrad(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
@JsonValue
public String value() {
return this.value;
}
@JsonCreator
public static JsonArbeidssituasjon.JobbGrad fromValue(String value) {
JsonArbeidssituasjon.JobbGrad constant = CONSTANTS.get(value);
if (constant == null) {
throw new IllegalArgumentException(value);
} else {
return constant;
}
}
}
}