1
1
package no .nav .k9 .søknad .felles .opptjening ;
2
2
3
- import com .fasterxml .jackson .annotation .*;
3
+ import static java .util .Collections .emptyList ;
4
+ import static java .util .Collections .unmodifiableList ;
4
5
5
- import javax .validation .Valid ;
6
6
import java .util .ArrayList ;
7
7
import java .util .List ;
8
8
9
- import static java .util .Collections .emptyList ;
10
- import static java .util .Collections .unmodifiableList ;
9
+ import javax .validation .Valid ;
10
+
11
+ import com .fasterxml .jackson .annotation .JsonAutoDetect ;
12
+ import com .fasterxml .jackson .annotation .JsonCreator ;
13
+ import com .fasterxml .jackson .annotation .JsonIgnoreProperties ;
14
+ import com .fasterxml .jackson .annotation .JsonInclude ;
15
+ import com .fasterxml .jackson .annotation .JsonProperty ;
11
16
12
17
@ JsonIgnoreProperties (ignoreUnknown = true )
13
18
@ JsonAutoDetect (fieldVisibility = JsonAutoDetect .Visibility .NONE , getterVisibility = JsonAutoDetect .Visibility .NONE , setterVisibility = JsonAutoDetect .Visibility .NONE , isGetterVisibility = JsonAutoDetect .Visibility .NONE , creatorVisibility = JsonAutoDetect .Visibility .NONE )
@@ -28,17 +33,24 @@ public class OpptjeningAktivitet {
28
33
@ JsonProperty (value = "arbeidstaker" )
29
34
private List <Arbeidstaker > arbeidstaker ;
30
35
36
+ @ Valid
37
+ @ JsonInclude (value = JsonInclude .Include .NON_EMPTY )
38
+ @ JsonProperty (value = "utenlandskeArbeidsforhold" )
39
+ private List <UtenlandskArbeidsforhold > utenlandskeArbeidsforhold ;
40
+
31
41
public OpptjeningAktivitet () {
32
42
//
33
43
}
34
44
35
45
@ JsonCreator
36
46
public OpptjeningAktivitet (@ JsonProperty (value = "arbeidstaker" ) @ Valid List <Arbeidstaker > arbeidstaker ,
37
- @ JsonProperty (value = "selvstendigNæringsdrivende" ) List <SelvstendigNæringsdrivende > selvstendigNæringsdrivende ,
38
- @ JsonProperty (value = "frilanser" ) Frilanser frilanser ) {
47
+ @ JsonProperty (value = "selvstendigNæringsdrivende" ) @ Valid List <SelvstendigNæringsdrivende > selvstendigNæringsdrivende ,
48
+ @ JsonProperty (value = "frilanser" ) @ Valid Frilanser frilanser ,
49
+ @ JsonProperty (value = "utenlandskeArbeidsforhold" ) List <UtenlandskArbeidsforhold > utenlandskeArbeidsforhold ) {
39
50
this .arbeidstaker = arbeidstaker ;
40
51
this .selvstendigNæringsdrivende = (selvstendigNæringsdrivende == null ) ? emptyList () : unmodifiableList (selvstendigNæringsdrivende );
41
52
this .frilanser = frilanser ;
53
+ this .utenlandskeArbeidsforhold = utenlandskeArbeidsforhold ;
42
54
}
43
55
44
56
@ Deprecated
@@ -91,11 +103,30 @@ public OpptjeningAktivitet medArbeidstaker(List<Arbeidstaker> arbeidstaker) {
91
103
return this ;
92
104
}
93
105
106
+ public List <UtenlandskArbeidsforhold > getUtenlandskeArbeidsforhold () {
107
+ return utenlandskeArbeidsforhold ;
108
+ }
109
+
110
+ public OpptjeningAktivitet medUtenlandskArbeidsforhold (UtenlandskArbeidsforhold utenlandskArbeidsforhold ) {
111
+ if (this .utenlandskeArbeidsforhold == null )
112
+ this .utenlandskeArbeidsforhold = new ArrayList <>();
113
+ this .utenlandskeArbeidsforhold .add (utenlandskArbeidsforhold );
114
+ return this ;
115
+ }
116
+
117
+ public OpptjeningAktivitet medUtenlandskeArbeidsforhold (List <UtenlandskArbeidsforhold > utenlandskeArbeidsforhold ) {
118
+ if (this .utenlandskeArbeidsforhold == null )
119
+ this .utenlandskeArbeidsforhold = new ArrayList <>();
120
+ this .utenlandskeArbeidsforhold .addAll (utenlandskeArbeidsforhold );
121
+ return this ;
122
+ }
123
+
94
124
@ Deprecated
95
125
public static final class Builder {
96
126
private List <SelvstendigNæringsdrivende > selvstendigNæringsdrivende = new ArrayList <>();
97
127
private Frilanser frilanser ;
98
128
private List <Arbeidstaker > arbeidstaker = new ArrayList <>();
129
+ private List <UtenlandskArbeidsforhold > utenlandskeArbeidsforhold = new ArrayList <>();
99
130
100
131
private Builder () {
101
132
}
@@ -115,6 +146,11 @@ public Builder arbeidstaker(List<Arbeidstaker> arbeidstaker) {
115
146
return this ;
116
147
}
117
148
149
+ public Builder utenlandskeArbeidsforhold (List <UtenlandskArbeidsforhold > utenlandskeArbeidsforhold ) {
150
+ this .utenlandskeArbeidsforhold .addAll (utenlandskeArbeidsforhold );
151
+ return this ;
152
+ }
153
+
118
154
public Builder selvstendigNæringsdrivende (SelvstendigNæringsdrivende selvstendigNæringsdrivende ) {
119
155
this .selvstendigNæringsdrivende .add (selvstendigNæringsdrivende );
120
156
return this ;
@@ -126,7 +162,7 @@ public Builder frilanser(Frilanser frilanser) {
126
162
}
127
163
128
164
public OpptjeningAktivitet build () {
129
- return new OpptjeningAktivitet (arbeidstaker , selvstendigNæringsdrivende , frilanser );
165
+ return new OpptjeningAktivitet (arbeidstaker , selvstendigNæringsdrivende , frilanser , utenlandskeArbeidsforhold );
130
166
}
131
167
}
132
168
}
0 commit comments