From 46cb1f6c030991d314d0ef1fafa53e53ef3e03c9 Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Fri, 15 Sep 2017 15:21:34 -0300 Subject: Format --- src/main/java/bjc/inflexion/InflectionML.java | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'src/main/java/bjc/inflexion/InflectionML.java') diff --git a/src/main/java/bjc/inflexion/InflectionML.java b/src/main/java/bjc/inflexion/InflectionML.java index 7d0cb6a..e12263b 100644 --- a/src/main/java/bjc/inflexion/InflectionML.java +++ b/src/main/java/bjc/inflexion/InflectionML.java @@ -22,7 +22,6 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -import bjc.inflexion.examples.InflexionTester; import bjc.inflexion.nouns.InflectionException; import bjc.inflexion.nouns.Noun; import bjc.inflexion.nouns.Nouns; @@ -33,18 +32,18 @@ import bjc.inflexion.nouns.Prepositions; * */ public class InflectionML { - private static final List ESUB_OPT = Arrays.asList("a", "s", "w"); - private static Pattern FORM_MARKER = Pattern - .compile("<(?[#N])(?[^:]*):(?[^>]*)>"); + private static final List ESUB_OPT = Arrays.asList("a", "s", "w"); + private static Pattern FORM_MARKER = Pattern + .compile("<(?[#N])(?[^:]*):(?[^>]*)>"); private static Nouns nounDB; static { final Prepositions prepositionDB = new Prepositions(); - prepositionDB.loadFromStream(InflexionTester.class.getResourceAsStream("/prepositions.txt")); + prepositionDB.loadFromStream(InflectionML.class.getResourceAsStream("/prepositions.txt")); nounDB = new Nouns(prepositionDB); - nounDB.loadFromStream(InflexionTester.class.getResourceAsStream("/nouns.txt")); + nounDB.loadFromStream(InflectionML.class.getResourceAsStream("/nouns.txt")); } /** @@ -69,6 +68,7 @@ public class InflectionML { final String text = formMatcher.group("text"); final Set optionSet = new HashSet<>(); + for (int i = 1; i <= options.length(); i++) { optionSet.add(options.substring(i - 1, i)); } @@ -80,6 +80,7 @@ public class InflectionML { optionSet.remove("e"); optionSet.addAll(ESUB_OPT); } + curCount = Integer.parseInt(text); if (optionSet.contains("i")) { @@ -126,7 +127,7 @@ public class InflectionML { } final boolean shouldOverride = !(rep.equals("no") || rep.equals("a") - || rep.equals("an")); + || rep.equals("an")); if (optionSet.contains("w") && shouldOverride) { rep = EnglishUtils.smallIntToWord(curCount); @@ -139,11 +140,14 @@ public class InflectionML { formMatcher.appendReplacement(formBuffer, rep); } catch (final NumberFormatException nfex) { throw new InflectionException("Count setter must take a number as a parameter", - nfex); + nfex); } + break; + case "N": final Noun noun = nounDB.getNoun(text); + if (optionSet.contains("p") || !inflectSingular) { if (optionSet.contains("c")) { formMatcher.appendReplacement(formBuffer, noun.classicalPlural()); @@ -153,7 +157,9 @@ public class InflectionML { } else { formMatcher.appendReplacement(formBuffer, noun.singular()); } + break; + default: final String msg = String.format("Unknown command '%s'", command); -- cgit v1.2.3