1
1
package no .nav .k9 .søknad .ytelse .pls .v1 ;
2
2
3
+ import java .time .LocalDate ;
3
4
import java .util .Objects ;
4
5
5
6
import javax .validation .Valid ;
6
7
import javax .validation .constraints .NotNull ;
8
+ import javax .validation .constraints .PastOrPresent ;
7
9
8
10
import com .fasterxml .jackson .annotation .JsonAlias ;
9
11
import com .fasterxml .jackson .annotation .JsonAutoDetect ;
10
12
import com .fasterxml .jackson .annotation .JsonCreator ;
13
+ import com .fasterxml .jackson .annotation .JsonFormat ;
11
14
import com .fasterxml .jackson .annotation .JsonIgnoreProperties ;
12
15
import com .fasterxml .jackson .annotation .JsonProperty ;
13
16
@@ -25,11 +28,37 @@ public class Pleietrengende implements Person {
25
28
@ Valid
26
29
private NorskIdentitetsnummer norskIdentitetsnummer ;
27
30
31
+ @ JsonProperty (value = "fødselsdato" , required = false )
32
+ @ Valid
33
+ @ JsonFormat (shape = JsonFormat .Shape .STRING , pattern = "yyyy-MM-dd" , timezone = "Europe/Oslo" )
34
+ @ PastOrPresent (message = "[ugyldigFødselsdato] Fødselsdato kan ikke være fremtidig" )
35
+ private LocalDate fødselsdato ;
36
+
28
37
@ JsonCreator
29
- public Pleietrengende (@ JsonProperty (value = "norskIdentitetsnummer" , required = true ) @ JsonAlias ({ "fødselsnummer" , "norskIdentifikator" , "identitetsnummer" , "fnr" }) NorskIdentitetsnummer norskIdentitetsnummer ) {
38
+ public Pleietrengende (@ JsonProperty (value = "norskIdentitetsnummer" , required = true ) @ JsonAlias ({ "fødselsnummer" , "norskIdentifikator" , "identitetsnummer" , "fnr" }) NorskIdentitetsnummer norskIdentitetsnummer ,
39
+ @ JsonProperty ("fødselsdato" ) @ JsonFormat (shape = JsonFormat .Shape .STRING , pattern = "yyyy-MM-dd" , timezone = "Europe/Oslo" ) LocalDate fødselsdato ) {
30
40
this .norskIdentitetsnummer = Objects .requireNonNull (norskIdentitetsnummer , "norskIdentitetsnummer" );
31
41
}
32
42
43
+ @ Override
44
+ public PersonIdent getPersonIdent () {
45
+ return norskIdentitetsnummer ;
46
+ }
47
+
48
+ public LocalDate getFødselsdato () {
49
+ return fødselsdato ;
50
+ }
51
+
52
+ public Pleietrengende medNorskIdentitetsnummer (NorskIdentitetsnummer norskIdentitetsnummer ) {
53
+ this .norskIdentitetsnummer = norskIdentitetsnummer ;
54
+ return this ;
55
+ }
56
+
57
+ public Pleietrengende medFødselsdato (LocalDate fødselsdato ) {
58
+ this .fødselsdato = fødselsdato ;
59
+ return this ;
60
+ }
61
+
33
62
@ Override
34
63
public boolean equals (Object obj ) {
35
64
if (obj == this )
@@ -38,17 +67,13 @@ public boolean equals(Object obj) {
38
67
return false ;
39
68
var other = (Pleietrengende ) obj ;
40
69
41
- return Objects .equals (norskIdentitetsnummer , other .norskIdentitetsnummer );
42
- }
43
-
44
- @ Override
45
- public PersonIdent getPersonIdent () {
46
- return norskIdentitetsnummer ;
70
+ return Objects .equals (norskIdentitetsnummer , other .norskIdentitetsnummer )
71
+ && Objects .equals (fødselsdato , other .fødselsdato );
47
72
}
48
73
49
74
@ Override
50
75
public int hashCode () {
51
- return Objects .hash (norskIdentitetsnummer );
76
+ return Objects .hash (norskIdentitetsnummer , fødselsdato );
52
77
}
53
78
54
79
}
0 commit comments