@@ -4,10 +4,17 @@ import java.util.Locale
44
55object StringsCleaner {
66
7+ @JvmOverloads
78 @JvmStatic
8- fun cleanRouteLongName (originalRouteLongName : String , languages : List <Locale >? ): String {
9+ fun cleanRouteLongName (
10+ originalRouteLongName : String ,
11+ languages : List <Locale >? ,
12+ lowerUCStrings : Boolean = false,
13+ lowerUCWords : Boolean = false,
14+ vararg ignoredUCWords : String = emptyArray(),
15+ ): String {
916 var routeLongName = originalRouteLongName
10- routeLongName = cleanString(routeLongName, languages, short = false )
17+ routeLongName = cleanString(routeLongName, languages, lowerUCStrings, lowerUCWords, * ignoredUCWords, short = false )
1118 return routeLongName
1219 }
1320
@@ -16,6 +23,9 @@ object StringsCleaner {
1623 fun cleanTripHeadsign (
1724 originalTripHeadsign : String ,
1825 languages : List <Locale >? ,
26+ lowerUCStrings : Boolean = false,
27+ lowerUCWords : Boolean = false,
28+ vararg ignoredUCWords : String = emptyArray(),
1929 removeVia : Boolean = false,
2030 ): String {
2131 var tripHeadsign = originalTripHeadsign
@@ -29,19 +39,40 @@ object StringsCleaner {
2939 if (languages?.contains(Locale .FRENCH ) == true ) {
3040 tripHeadsign = CleanUtils .keepToFR(tripHeadsign)
3141 }
32- tripHeadsign = cleanString(tripHeadsign, languages, short = true )
42+ tripHeadsign = cleanString(tripHeadsign, languages, lowerUCStrings, lowerUCWords, * ignoredUCWords, short = true )
3343 return tripHeadsign
3444 }
3545
46+ @JvmOverloads
3647 @JvmStatic
37- fun cleanStopName (originalStopName : String , languages : List <Locale >? ): String {
48+ fun cleanStopName (
49+ originalStopName : String ,
50+ languages : List <Locale >? ,
51+ lowerUCStrings : Boolean = false,
52+ lowerUCWords : Boolean = false,
53+ vararg ignoredUCWords : String = emptyArray(),
54+ ): String {
3855 var stopName = originalStopName
39- stopName = cleanString(stopName, languages, short = true )
56+ stopName = cleanString(stopName, languages, lowerUCStrings, lowerUCWords, * ignoredUCWords, short = true )
4057 return stopName
4158 }
4259
43- private fun cleanString (originalString : String , languages : List <Locale >? , short : Boolean ): String {
60+ private fun cleanString (
61+ originalString : String ,
62+ languages : List <Locale >? ,
63+ lowerUCStrings : Boolean = false,
64+ lowerUCWords : Boolean = false,
65+ vararg ignoredUCWords : String = emptyArray(),
66+ short : Boolean
67+ ): String {
4468 var string = originalString
69+ languages?.forEach { language ->
70+ if (lowerUCWords) {
71+ string = CleanUtils .toLowerCaseUpperCaseWords(language, string, * ignoredUCWords)
72+ } else if (lowerUCStrings) {
73+ string = CleanUtils .toLowerCaseUpperCaseStrings(language, string)
74+ }
75+ }
4576 if (! short) {
4677 string = CleanUtils .cleanSlashes(string)
4778 }
@@ -68,4 +99,4 @@ object StringsCleaner {
6899 }
69100 return string
70101 }
71- }
102+ }
0 commit comments