-
Notifications
You must be signed in to change notification settings - Fork 48
Commit 403117d
Add @MaxMindDbCreator annotation for custom deserialization
This adds support for marking static factory methods with @MaxMindDbCreator
to enable custom deserialization logic, similar to Jackson's @JsonCreator.
The decoder now automatically invokes creator methods when decoding values
to target types, allowing for custom type conversions such as string-to-enum
mappings with non-standard representations.
This eliminates the need for redundant constructors that only perform type
conversions, as the decoder can now apply conversions automatically via
annotated static factory methods.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>1 parent 289be53 commit 403117d
File tree
5 files changed
+283
-4
lines changed- src
- main/java/com/maxmind/db
- test/java/com/maxmind/db
5 files changed
+283
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | + | ||
2 | + | ||
3 | + | ||
4 | + | ||
5 | + | ||
6 | + | ||
7 | + | ||
8 | + | ||
9 | + | ||
10 | + | ||
11 | + | ||
12 | + | ||
13 | + | ||
14 | + | ||
15 | + | ||
16 | + | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | + | ||
8 | + | ||
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
43 | + | ||
44 | + | ||
41 | 45 | | |
42 | 46 | | |
43 | 47 | | |
| |||
47 | 51 | | |
48 | 52 | | |
49 | 53 | | |
54 | + | ||
50 | 55 | | |
51 | 56 | | |
52 | 57 | | |
| |||
63 | 68 | | |
64 | 69 | | |
65 | 70 | | |
71 | + | ||
66 | 72 | | |
67 | 73 | | |
68 | 74 | | |
| |||
73 | 79 | | |
74 | 80 | | |
75 | 81 | | |
82 | + | ||
76 | 83 | | |
77 | 84 | | |
78 | 85 | | |
79 | 86 | | |
80 | 87 | | |
81 | 88 | | |
82 | 89 | | |
90 | + | ||
83 | 91 | | |
84 | 92 | | |
85 | 93 | | |
| |||
217 | 225 | | |
218 | 226 | | |
219 | 227 | | |
220 | - | ||
228 | + | ||
229 | + | ||
221 | 230 | | |
222 | - | ||
231 | + | ||
232 | + | ||
223 | 233 | | |
224 | - | ||
234 | + | ||
235 | + | ||
225 | 236 | | |
226 | - | ||
237 | + | ||
238 | + | ||
227 | 239 | | |
228 | 240 | | |
229 | 241 | | |
| |||
639 | 651 | | |
640 | 652 | | |
641 | 653 | | |
654 | + | ||
642 | 655 | | |
643 | 656 | | |
644 | 657 | | |
| |||
856 | 869 | | |
857 | 870 | | |
858 | 871 | | |
872 | + | ||
873 | + | ||
874 | + | ||
875 | + | ||
876 | + | ||
877 | + | ||
878 | + | ||
879 | + | ||
880 | + | ||
881 | + | ||
882 | + | ||
883 | + | ||
884 | + | ||
885 | + | ||
886 | + | ||
887 | + | ||
888 | + | ||
889 | + | ||
890 | + | ||
891 | + | ||
892 | + | ||
893 | + | ||
894 | + | ||
895 | + | ||
896 | + | ||
897 | + | ||
898 | + | ||
899 | + | ||
900 | + | ||
901 | + | ||
902 | + | ||
903 | + | ||
904 | + | ||
905 | + | ||
906 | + | ||
907 | + | ||
908 | + | ||
909 | + | ||
910 | + | ||
911 | + | ||
912 | + | ||
913 | + | ||
914 | + | ||
915 | + | ||
916 | + | ||
917 | + | ||
918 | + | ||
919 | + | ||
920 | + | ||
921 | + | ||
922 | + | ||
923 | + | ||
924 | + | ||
925 | + | ||
926 | + | ||
927 | + | ||
928 | + | ||
929 | + | ||
930 | + | ||
931 | + | ||
932 | + | ||
933 | + | ||
934 | + | ||
935 | + | ||
936 | + | ||
937 | + | ||
938 | + | ||
939 | + | ||
859 | 940 | | |
860 | 941 | | |
861 | 942 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | + | ||
2 | + | ||
3 | + | ||
4 | + | ||
5 | + | ||
6 | + | ||
7 | + | ||
8 | + | ||
9 | + | ||
10 | + | ||
11 | + | ||
12 | + | ||
13 | + | ||
14 | + | ||
15 | + | ||
16 | + | ||
17 | + | ||
18 | + | ||
19 | + | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | + | ||
24 | + | ||
25 | + | ||
26 | + | ||
27 | + | ||
28 | + | ||
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | ||
33 | + | ||
34 | + | ||
35 | + | ||
36 | + | ||
37 | + | ||
38 | + | ||
39 | + | ||
40 | + | ||
41 | + | ||
42 | + | ||
43 | + | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | + | ||
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
166 | 167 | | |
167 | 168 | | |
168 | 169 | | |
170 | + | ||
169 | 171 | | |
170 | 172 | | |
171 | 173 | | |
| |||
443 | 445 | | |
444 | 446 | | |
445 | 447 | | |
448 | + | ||
446 | 449 | | |
447 | 450 | | |
448 | 451 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
573 | 573 | | |
574 | 574 | | |
575 | 575 | | |
576 | + | ||
577 | + | ||
578 | + | ||
579 | + | ||
580 | + | ||
581 | + | ||
582 | + | ||
583 | + | ||
584 | + | ||
585 | + | ||
586 | + | ||
587 | + | ||
588 | + | ||
589 | + | ||
590 | + | ||
591 | + | ||
592 | + | ||
593 | + | ||
594 | + | ||
595 | + | ||
596 | + | ||
597 | + | ||
598 | + | ||
599 | + | ||
600 | + | ||
601 | + | ||
602 | + | ||
603 | + | ||
604 | + | ||
605 | + | ||
606 | + | ||
607 | + | ||
608 | + | ||
609 | + | ||
610 | + | ||
611 | + | ||
612 | + | ||
613 | + | ||
614 | + | ||
615 | + | ||
616 | + | ||
617 | + | ||
618 | + | ||
619 | + | ||
620 | + | ||
576 | 621 | | |
577 | 622 | | |
578 | 623 | | |
| |||
889 | 934 | | |
890 | 935 | | |
891 | 936 | | |
937 | + | ||
938 | + | ||
939 | + | ||
940 | + | ||
941 | + | ||
942 | + | ||
943 | + | ||
944 | + | ||
945 | + | ||
946 | + | ||
947 | + | ||
948 | + | ||
949 | + | ||
950 | + | ||
951 | + | ||
952 | + | ||
953 | + | ||
954 | + | ||
955 | + | ||
956 | + | ||
957 | + | ||
958 | + | ||
959 | + | ||
960 | + | ||
961 | + | ||
962 | + | ||
963 | + | ||
964 | + | ||
965 | + | ||
966 | + | ||
967 | + | ||
968 | + | ||
969 | + | ||
970 | + | ||
971 | + | ||
972 | + | ||
973 | + | ||
974 | + | ||
975 | + | ||
976 | + | ||
977 | + | ||
978 | + | ||
979 | + | ||
980 | + | ||
981 | + | ||
982 | + | ||
983 | + | ||
984 | + | ||
985 | + | ||
986 | + | ||
987 | + | ||
988 | + | ||
989 | + | ||
990 | + | ||
991 | + | ||
992 | + | ||
993 | + | ||
994 | + | ||
995 | + | ||
996 | + | ||
997 | + | ||
998 | + | ||
999 | + | ||
1000 | + | ||
1001 | + | ||
1002 | + | ||
1003 | + | ||
1004 | + | ||
1005 | + | ||
1006 | + | ||
1007 | + | ||
1008 | + | ||
1009 | + | ||
1010 | + | ||
1011 | + | ||
1012 | + | ||
1013 | + | ||
1014 | + | ||
1015 | + | ||
1016 | + | ||
1017 | + | ||
1018 | + | ||
1019 | + | ||
1020 | + | ||
1021 | + | ||
1022 | + | ||
1023 | + | ||
1024 | + | ||
1025 | + | ||
1026 | + | ||
1027 | + | ||
892 | 1028 | | |
893 | 1029 | | |
894 | 1030 | | |
| |||
0 commit comments