-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgeneratorPhoneAreaCodes.bat
More file actions
122 lines (122 loc) · 3.18 KB
/
generatorPhoneAreaCodes.bat
File metadata and controls
122 lines (122 loc) · 3.18 KB
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
@echo off
rem Generate Java class source from tld text file.
rem
rem $0 script
rem $1 Path to downloaded file
setlocal ENABLEDELAYEDEXPANSION
pushd %~dp0
echo /*
echo * Code generator Copyright (C) 2022-2025 Dipl.-Inform. Kai Hofmann. All rights reserved!
echo */
echo package de.powerstat.ddd.generated;
echo:
echo:
echo import java.util.Map;
echo import java.util.Locale;
echo import java.util.concurrent.ConcurrentHashMap;
echo:
echo import de.powerstat.ddd.values.geo.Country;
echo:
echo:
echo /**
echo * International phone area codes.
echo */
echo public final class GeneratedInternationalPhoneAreaCodes
echo {
echo /**
echo * Phone area codes map.
echo */
echo private static final Map^<String, Country^> PHONEAREAS = new ConcurrentHashMap^<^>();
echo:
echo:
echo /**
echo * Static initialization.
echo */
echo static
echo {
FOR /F "usebackq tokens=2,7,9,10 delims=," %%i IN (`findstr /R "^[A-Z]*,[0-9][0-9-]*,[A-Z][A-Z][A-Z],[a-z]*,[a-zA-Z ]*,[0-9]*,[0-9]*,[A-Z]*,[A-Z]*,[A-Z][A-Z]," %1`) DO (
set t=%%i
if "!t!"=="!t:-=!" (
if 1%%i equ +1%%i (
echo %%l > %TMP%\country.txt
for %%a in (%TMP%\country.txt) do set /a len=%%~za
if !len! EQU 5 (
echo PHONEAREAS.put("%%i", Country.of^("%%l"^)^); //$NON-NLS-1$
) else (
if !len! EQU 6 (
echo PHONEAREAS.put("%%i", Country.of^("%%k"^)^); //$NON-NLS-1$
) else (
echo PHONEAREAS.put("%%i", Country.of^("%%j"^)^); //$NON-NLS-1$
)
)
)
) else (
if '!t!'=='!t:^"=!' (
echo %%l > %TMP%\country.txt
for %%a in (%TMP%\country.txt) do set /a len=%%~za
if !len! EQU 5 (
echo PHONEAREAS.put("%%i", Country.of^("%%l"^)^); //$NON-NLS-1$
) else (
echo PHONEAREAS.put("%%i", Country.of^("%%k"^)^); //$NON-NLS-1$
)
)
)
)
del /f %TMP%\country.txt
echo }
echo:
echo:
echo /**
echo * Private default constructor.
echo */
echo private GeneratedInternationalPhoneAreaCodes()
echo {
echo super();
echo }
echo:
echo:
echo /**
echo * Check if phone area code exists.
echo *
echo * @param phoneArea Phone area code to check
echo * @return true if phone area code exists, false otherwise
echo */
echo public static boolean contains(final String phoneArea)
echo {
echo return PHONEAREAS.containsKey(phoneArea.toUpperCase(Locale.getDefault()));
echo }
echo:
echo:
echo /**
echo * Get country for phone area code.
echo *
echo * @param phoneArea Phone area code
echo * @return Country
echo */
echo public static Country getCountry(final String phoneArea)
echo {
echo return PHONEAREAS.get(phoneArea.toUpperCase(Locale.getDefault()));
echo }
echo:
echo:
echo /**
echo * Get phone area code for country.
echo *
echo * @param country Country
echo * @return Phone area code or empty string
echo */
echo public static String getForCountry(final Country country)
echo {
echo for (Map.Entry^<String, Country^> entry : PHONEAREAS.entrySet())
echo {
echo if (country.equals(entry.getValue()))
echo {
echo return entry.getKey();
echo }
echo }
echo return "";
echo }
echo:
echo }
popd
endlocal