-
Notifications
You must be signed in to change notification settings - Fork 0
/
generatorLanguages.sh
59 lines (59 loc) · 1.36 KB
/
generatorLanguages.sh
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
#!/bin/bash
# $0 Script
# $1 Path to downloaded file
# cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
echo "/*"
echo " * Code generator Copyright (C) 2020 Dipl.-Inform. Kai Hofmann. All rights reserved!"
echo " */"
echo "package de.powerstat.validation.generated;"
echo ""
echo ""
echo "import java.util.HashSet;"
echo "import java.util.Set;"
echo "import java.util.Locale;"
echo ""
echo ""
echo "/**"
echo " * ISO 6391."
echo " */"
echo "public final class GeneratedISO6391"
echo " {"
echo " /**"
echo " * ISO 6391 code list."
echo " */"
echo " private static final Set<String> CODES = new HashSet<>();"
echo ""
echo ""
echo " /**"
echo " * Static initialization."
echo " */"
echo " static"
echo " {"
for i in `grep -oE "^[a-z]{2}" $1`; do
echo " CODES.add(\"$i\".toUpperCase(Locale.getDefault())); //\$NON-NLS-1\$"
done
echo " }"
echo ""
echo ""
echo " /**"
echo " * Private default constructor."
echo " */"
echo " private GeneratedISO6391()"
echo " {"
echo " super();"
echo " }"
echo ""
echo ""
echo " /**"
echo " * Check if ISO 6391 code exists."
echo " *"
echo " * @param code Code to check"
echo " * @return true if code exists, false otherwise"
echo " */"
echo " public static boolean contains(final String code)"
echo " {"
echo " return CODES.contains(code.toUpperCase(Locale.getDefault()));"
echo " }"
echo ""
echo ""
echo "}"