no.nav.sbl.soknadsosialhjelp.soknad.arbeid.JsonArbeidsforhold 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.JsonKilde;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"kilde",
"arbeidsgivernavn",
"fom",
"tom",
"stillingsprosent",
"stillingstype",
"overstyrtAvBruker"
})
public class JsonArbeidsforhold {
/**
* Kilden for dataene.
*
* "bruker" når data kommer fra en bruker, "system" når data kommer fra et register og "utdatert" hvis data ikke lenger er relevant (og da ikke lenger kan vises saksbehandler).
* (Required)
*
*/
@JsonProperty("kilde")
@JsonPropertyDescription("\"bruker\" n\u00e5r data kommer fra en bruker, \"system\" n\u00e5r data kommer fra et register og \"utdatert\" hvis data ikke lenger er relevant (og da ikke lenger kan vises saksbehandler).")
private JsonKilde kilde;
/**
* Navn på arbeidsgiver. Kan være navn på privatperson ved forenklet oppgjørsordning.
*
* Navnet kan være blankt.
* (Required)
*
*/
@JsonProperty("arbeidsgivernavn")
@JsonPropertyDescription("Navnet kan v\u00e6re blankt.")
private String arbeidsgivernavn;
/**
* En dato med formatet YYYY-MM-DD.
*
*
* (Required)
*
*/
@JsonProperty("fom")
private String fom;
/**
* En dato med formatet YYYY-MM-DD.
*
*
*
*/
@JsonProperty("tom")
private String tom;
/**
*
* (Required)
*
*/
@JsonProperty("stillingsprosent")
private Integer stillingsprosent;
@JsonProperty("stillingstype")
private JsonArbeidsforhold.Stillingstype stillingstype;
/**
* Brukes når en søker overstyrer/endrer på et arbeidsforhold. Settes kun til "true" på arbeidsforhold med systemkilde. Anbefaler at man likevel viser dataene fra AA-registeret til saksbehandler men markert som overskrevet av bruker (for eksempel å vise med overstrykning).
* (Required)
*
*/
@JsonProperty("overstyrtAvBruker")
@JsonPropertyDescription("Brukes n\u00e5r en s\u00f8ker overstyrer/endrer p\u00e5 et arbeidsforhold. Settes kun til \"true\" p\u00e5 arbeidsforhold med systemkilde. Anbefaler at man likevel viser dataene fra AA-registeret til saksbehandler men markert som overskrevet av bruker (for eksempel \u00e5 vise med overstrykning).")
private Boolean overstyrtAvBruker;
@JsonIgnore
private Map additionalProperties = new HashMap();
/**
* Kilden for dataene.
*
* "bruker" når data kommer fra en bruker, "system" når data kommer fra et register og "utdatert" hvis data ikke lenger er relevant (og da ikke lenger kan vises saksbehandler).
* (Required)
*
*/
@JsonProperty("kilde")
public JsonKilde getKilde() {
return kilde;
}
/**
* Kilden for dataene.
*
* "bruker" når data kommer fra en bruker, "system" når data kommer fra et register og "utdatert" hvis data ikke lenger er relevant (og da ikke lenger kan vises saksbehandler).
* (Required)
*
*/
@JsonProperty("kilde")
public void setKilde(JsonKilde kilde) {
this.kilde = kilde;
}
public JsonArbeidsforhold withKilde(JsonKilde kilde) {
this.kilde = kilde;
return this;
}
/**
* Navn på arbeidsgiver. Kan være navn på privatperson ved forenklet oppgjørsordning.
*
* Navnet kan være blankt.
* (Required)
*
*/
@JsonProperty("arbeidsgivernavn")
public String getArbeidsgivernavn() {
return arbeidsgivernavn;
}
/**
* Navn på arbeidsgiver. Kan være navn på privatperson ved forenklet oppgjørsordning.
*
* Navnet kan være blankt.
* (Required)
*
*/
@JsonProperty("arbeidsgivernavn")
public void setArbeidsgivernavn(String arbeidsgivernavn) {
this.arbeidsgivernavn = arbeidsgivernavn;
}
public JsonArbeidsforhold withArbeidsgivernavn(String arbeidsgivernavn) {
this.arbeidsgivernavn = arbeidsgivernavn;
return this;
}
/**
* En dato med formatet YYYY-MM-DD.
*
*
* (Required)
*
*/
@JsonProperty("fom")
public String getFom() {
return fom;
}
/**
* En dato med formatet YYYY-MM-DD.
*
*
* (Required)
*
*/
@JsonProperty("fom")
public void setFom(String fom) {
this.fom = fom;
}
public JsonArbeidsforhold withFom(String fom) {
this.fom = fom;
return this;
}
/**
* En dato med formatet YYYY-MM-DD.
*
*
*
*/
@JsonProperty("tom")
public String getTom() {
return tom;
}
/**
* En dato med formatet YYYY-MM-DD.
*
*
*
*/
@JsonProperty("tom")
public void setTom(String tom) {
this.tom = tom;
}
public JsonArbeidsforhold withTom(String tom) {
this.tom = tom;
return this;
}
/**
*
* (Required)
*
*/
@JsonProperty("stillingsprosent")
public Integer getStillingsprosent() {
return stillingsprosent;
}
/**
*
* (Required)
*
*/
@JsonProperty("stillingsprosent")
public void setStillingsprosent(Integer stillingsprosent) {
this.stillingsprosent = stillingsprosent;
}
public JsonArbeidsforhold withStillingsprosent(Integer stillingsprosent) {
this.stillingsprosent = stillingsprosent;
return this;
}
@JsonProperty("stillingstype")
public JsonArbeidsforhold.Stillingstype getStillingstype() {
return stillingstype;
}
@JsonProperty("stillingstype")
public void setStillingstype(JsonArbeidsforhold.Stillingstype stillingstype) {
this.stillingstype = stillingstype;
}
public JsonArbeidsforhold withStillingstype(JsonArbeidsforhold.Stillingstype stillingstype) {
this.stillingstype = stillingstype;
return this;
}
/**
* Brukes når en søker overstyrer/endrer på et arbeidsforhold. Settes kun til "true" på arbeidsforhold med systemkilde. Anbefaler at man likevel viser dataene fra AA-registeret til saksbehandler men markert som overskrevet av bruker (for eksempel å vise med overstrykning).
* (Required)
*
*/
@JsonProperty("overstyrtAvBruker")
public Boolean getOverstyrtAvBruker() {
return overstyrtAvBruker;
}
/**
* Brukes når en søker overstyrer/endrer på et arbeidsforhold. Settes kun til "true" på arbeidsforhold med systemkilde. Anbefaler at man likevel viser dataene fra AA-registeret til saksbehandler men markert som overskrevet av bruker (for eksempel å vise med overstrykning).
* (Required)
*
*/
@JsonProperty("overstyrtAvBruker")
public void setOverstyrtAvBruker(Boolean overstyrtAvBruker) {
this.overstyrtAvBruker = overstyrtAvBruker;
}
public JsonArbeidsforhold withOverstyrtAvBruker(Boolean overstyrtAvBruker) {
this.overstyrtAvBruker = overstyrtAvBruker;
return this;
}
@JsonAnyGetter
public Map getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
public JsonArbeidsforhold withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("kilde", kilde).append("arbeidsgivernavn", arbeidsgivernavn).append("fom", fom).append("tom", tom).append("stillingsprosent", stillingsprosent).append("stillingstype", stillingstype).append("overstyrtAvBruker", overstyrtAvBruker).append("additionalProperties", additionalProperties).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(arbeidsgivernavn).append(tom).append(fom).append(overstyrtAvBruker).append(kilde).append(stillingstype).append(additionalProperties).append(stillingsprosent).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof JsonArbeidsforhold) == false) {
return false;
}
JsonArbeidsforhold rhs = ((JsonArbeidsforhold) other);
return new EqualsBuilder().append(arbeidsgivernavn, rhs.arbeidsgivernavn).append(tom, rhs.tom).append(fom, rhs.fom).append(overstyrtAvBruker, rhs.overstyrtAvBruker).append(kilde, rhs.kilde).append(stillingstype, rhs.stillingstype).append(additionalProperties, rhs.additionalProperties).append(stillingsprosent, rhs.stillingsprosent).isEquals();
}
public enum Stillingstype {
VARIABEL("variabel"),
FAST("fast"),
FAST_OG_VARIABEL("fastOgVariabel");
private final String value;
private final static Map CONSTANTS = new HashMap();
static {
for (JsonArbeidsforhold.Stillingstype c: values()) {
CONSTANTS.put(c.value, c);
}
}
private Stillingstype(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
@JsonValue
public String value() {
return this.value;
}
@JsonCreator
public static JsonArbeidsforhold.Stillingstype fromValue(String value) {
JsonArbeidsforhold.Stillingstype constant = CONSTANTS.get(value);
if (constant == null) {
throw new IllegalArgumentException(value);
} else {
return constant;
}
}
}
}