7
7
import java .util .Map ;
8
8
import java .util .Objects ;
9
9
10
+ import javax .validation .constraints .Pattern ;
11
+ import javax .validation .constraints .Size ;
12
+
10
13
import com .fasterxml .jackson .annotation .JsonAutoDetect ;
11
14
import com .fasterxml .jackson .annotation .JsonAutoDetect .Visibility ;
12
15
import com .fasterxml .jackson .annotation .JsonCreator ;
@@ -20,7 +23,7 @@ public class Landkode implements Kodeverdi {
20
23
private static final String KODEVERK = "LANDKODER" ;
21
24
22
25
private static final Map <String , Landkode > KODER = initKoder ();
23
-
26
+
24
27
public static final Landkode NOR = fraKode ("NOR" ); //$NON-NLS-1$
25
28
public static final Landkode DNK = fraKode ("DNK" ); //$NON-NLS-1$
26
29
public static final Landkode SWE = fraKode ("SWE" ); //$NON-NLS-1$
@@ -30,24 +33,26 @@ public class Landkode implements Kodeverdi {
30
33
public static final Landkode FIN = fraKode ("FIN" ); //$NON-NLS-1$
31
34
public static final Landkode CAN = fraKode ("CAN" ); //$NON-NLS-1$
32
35
public static final Landkode ESP = fraKode ("ESP" ); //$NON-NLS-1$
33
-
36
+
34
37
/** Kodeverkklient spesifikk konstant. Statsløs bruker */
35
38
public static final Landkode STATSLØS = fraKode ("XXX" );
36
-
37
- /** Kodeverkklient spesifikk konstant. Bruker oppgir ikke land*/
39
+
40
+ /** Kodeverkklient spesifikk konstant. Bruker oppgir ikke land */
38
41
public static final Landkode UOPPGITT_UKJENT = fraKode ("???" );
39
-
42
+
40
43
/** Egendefinert konstant - ikke definert (null object pattern) for bruk i modeller som krever non-null. */
41
- public static final Landkode UDEFINERT = fraKode ("-" );
42
-
44
+ public static final Landkode UDEFINERT = fraKode ("-" );
45
+
43
46
public static final Landkode NORGE = NOR ;
44
47
public static final Landkode SVERIGE = SWE ;
45
48
public static final Landkode DANMARK = DNK ;
46
-
49
+
47
50
/** ISO 3166 alpha 3-letter code. */
48
- @ JsonProperty (value ="kode" )
51
+ @ JsonProperty (value = "kode" )
52
+ @ Size (max = 3 )
53
+ @ Pattern (regexp = "^[\\ p{Alnum}]+$" , message = "'${validatedValue}' matcher ikke tillatt pattern '{regexp}'" )
49
54
private String kode ;
50
-
55
+
51
56
Landkode () {
52
57
}
53
58
@@ -59,7 +64,7 @@ private Landkode(String kode) {
59
64
public String getOffisiellKode () {
60
65
return kode ;
61
66
}
62
-
67
+
63
68
@ Override
64
69
public String getNavn () {
65
70
return kode ;
@@ -70,15 +75,15 @@ public String getKode() {
70
75
return kode ;
71
76
}
72
77
73
- @ JsonProperty (value = "kodeverk" , access = JsonProperty .Access .READ_ONLY )
78
+ @ JsonProperty (value = "kodeverk" , access = JsonProperty .Access .READ_ONLY )
74
79
@ Override
75
80
public String getKodeverk () {
76
81
return KODEVERK ;
77
82
}
78
-
83
+
79
84
@ Override
80
85
public boolean equals (Object obj ) {
81
- if (obj == this ) {
86
+ if (obj == this ) {
82
87
return true ;
83
88
} else if (obj == null || obj .getClass () != this .getClass ()) {
84
89
return false ;
@@ -91,7 +96,7 @@ public boolean equals(Object obj) {
91
96
public int hashCode () {
92
97
return Objects .hash (kode );
93
98
}
94
-
99
+
95
100
@ JsonCreator
96
101
public static Landkode fraKode (@ JsonProperty ("kode" ) String kode ) {
97
102
if (kode == null ) {
@@ -103,15 +108,15 @@ public static Landkode fraKode(@JsonProperty("kode") String kode) {
103
108
}
104
109
return ad ;
105
110
}
106
-
111
+
107
112
@ Override
108
113
public String toString () {
109
114
return kode ;
110
115
}
111
116
112
117
private static Map <String , Landkode > initKoder () {
113
118
var map = new LinkedHashMap <String , Landkode >();
114
- for (var iso2cc : Locale .getISOCountries (IsoCountryCode .PART1_ALPHA2 )) {
119
+ for (var iso2cc : Locale .getISOCountries (IsoCountryCode .PART1_ALPHA2 )) {
115
120
Locale locale = new Locale ("" , iso2cc );
116
121
String iso3cc = locale .getISO3Country ().toUpperCase ();
117
122
Landkode landkode = new Landkode (iso3cc );
@@ -121,10 +126,10 @@ private static Map<String, Landkode> initKoder() {
121
126
map .put ("-" , new Landkode ("-" ));
122
127
map .put ("???" , new Landkode ("???" ));
123
128
map .put ("XXX" , new Landkode ("XXX" ));
124
-
129
+
125
130
return Collections .unmodifiableMap (map );
126
131
}
127
-
132
+
128
133
public static boolean erNorge (String kode ) {
129
134
return NOR .getKode ().equals (kode );
130
135
}
0 commit comments