StringConversionUtils { public static String transliterate(final String rawForm) { if (rawForm == null || rawForm.length() == 0) { return ""; } if (HebrewUtils.isHebrewText(rawForm)) { return HebrewUtils.transliterateHebrew(rawForm); } return GreekUtils.transliterateGreek(Normalizer.normalize(rawForm.toLowerCase(Locale.ENGLISH), Form.NFD)); } private  StringConversionUtils(); boolean isDisplayableStrongNumber(final String strongNumber); static String getStrongKey(final String strong); static String getAnyKey(final String potentialKey); static String getStrongLanguageSpecificKey(final String key); static String getStrongPaddedKey(final String key); static String padPrefixedStrongNumber(final String strongNumber); static String getAnyKey(final String potentialKey, final boolean trimInitial); static String unAccent(final String word); static String unAccent(final String word, final boolean isGreek); static String unAccent(final String word, final boolean isGreek, boolean unpointHebrewVowels); static String unAccentLeavingVowels(final String word); static String unAccentHebrewLeavingVowels(final String word); static String adaptForTransliterationForIndexing(final String stepTransliteration,
                                                            final boolean isGreek); static List<TransliterationOption> adaptTransliterationForQuerying(
            final String stepTransliteration, final boolean isGreek); static List<TransliterationOption> multiplyTranslitOptions(final String baseString,
                                                                      final List<TransliterationRule> transliterationRules); static String transliterate(final String rawForm); static boolean startsWithPunctuation(final String s);  }
@Test public void testTransliterateGreek() { final String transliterate = StringConversionUtils.transliterate(""); LOG.debug(transliterate); assertEquals("hēn", outputAndTestTransliterate("ἣν")); assertEquals("hōde", outputAndTestTransliterate("ὧδε")); assertEquals("salpingos", outputAndTestTransliterate("σάλπιγγος")); assertEquals("lalousēs", outputAndTestTransliterate("λαλούσης")); assertEquals("adikēsēs", outputAndTestTransliterate("ἀδικήσῃς")); assertEquals("hote", outputAndTestTransliterate("ὅτε")); assertEquals("heote", outputAndTestTransliterate("εὅτε")); assertEquals("angelon", outputAndTestTransliterate("ἄγγελον")); assertEquals("prosenenke", outputAndTestTransliterate("προσένεγκε")); assertEquals("splanchnistheis", outputAndTestTransliterate("σπλαγχνισθεὶς")); assertEquals("psuchēn", outputAndTestTransliterate("ψυχὴν")); assertEquals("farisaioi", outputAndTestTransliterate("Φαρισαῖοι")); assertEquals("hērōdianōn", outputAndTestTransliterate("Ἡρῳδιανῶν")); assertEquals("ioudaias", outputAndTestTransliterate("Ἰουδαίας")); assertEquals("hierosolumōn", outputAndTestTransliterate("Ἱεροσολύμων")); assertEquals("mastigas", outputAndTestTransliterate("μάστιγας")); assertEquals("exērammenēn", outputAndTestTransliterate("ἐξηραμμένην")); }