From b964a4b44cd2c24083db8e1cccfd6de22e440861 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Tue, 29 Sep 2015 13:48:51 -0400 Subject: Added description for examples and added utility method to tokenizer. It's now easier to use the tokenizer in the simpe case I usually use it for. --- .../src/examples/java/bjc/utils/examples/DiabloItemGen.java | 12 ++++++++---- .../java/bjc/utils/examples/RandomStringExamples.java | 8 +++----- .../java/bjc/utils/funcdata/FunctionalStringTokenizer.java | 9 +++++++++ 3 files changed, 20 insertions(+), 9 deletions(-) (limited to 'BJC-Utils2/src') diff --git a/BJC-Utils2/src/examples/java/bjc/utils/examples/DiabloItemGen.java b/BJC-Utils2/src/examples/java/bjc/utils/examples/DiabloItemGen.java index fd0b221..8445056 100644 --- a/BJC-Utils2/src/examples/java/bjc/utils/examples/DiabloItemGen.java +++ b/BJC-Utils2/src/examples/java/bjc/utils/examples/DiabloItemGen.java @@ -1,17 +1,21 @@ package bjc.utils.examples; -import java.util.StringTokenizer; - import bjc.utils.funcdata.FunctionalList; import bjc.utils.funcdata.FunctionalStringTokenizer; import bjc.utils.gen.WeightedGrammar; +/** + * Example showing how to use the weighted random number generator. + * + * @author ben + * + */ public class DiabloItemGen { private static WeightedGrammar parts = new WeightedGrammar<>(); private static void addCase(String rn, int prob, String prts) { - parts.addCase(rn, prob, new FunctionalStringTokenizer( - new StringTokenizer(prts, " ")).toList(s -> s)); + parts.addCase(rn, prob, + FunctionalStringTokenizer.fromString(prts).toList(s -> s)); } private static void addInfixRules() { diff --git a/BJC-Utils2/src/examples/java/bjc/utils/examples/RandomStringExamples.java b/BJC-Utils2/src/examples/java/bjc/utils/examples/RandomStringExamples.java index 368c8ca..d7e1bd1 100644 --- a/BJC-Utils2/src/examples/java/bjc/utils/examples/RandomStringExamples.java +++ b/BJC-Utils2/src/examples/java/bjc/utils/examples/RandomStringExamples.java @@ -1,7 +1,5 @@ package bjc.utils.examples; -import java.util.StringTokenizer; - import bjc.utils.funcdata.FunctionalList; import bjc.utils.funcdata.FunctionalStringTokenizer; import bjc.utils.gen.RandomGrammar; @@ -47,9 +45,9 @@ public class RandomStringExamples { private static void addRule(String rule, String... cases) { FunctionalList> cses = new FunctionalList<>(); - for (String string : cases) { - cses.add(new FunctionalStringTokenizer( - new StringTokenizer(string, " ")).toList(s -> s)); + for (String strang : cases) { + cses.add(FunctionalStringTokenizer.fromString(strang) + .toList(s -> s)); } rg.makeRule(rule, cses); diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalStringTokenizer.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalStringTokenizer.java index 1732043..0fe8421 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalStringTokenizer.java +++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalStringTokenizer.java @@ -52,4 +52,13 @@ public class FunctionalStringTokenizer { return r; } + + /** + * Create a new tokenizer from the specified string. + * @param s The string to create a tokenizer from. + * @return A new tokenizer that splits the provided string on spaces. + */ + public static FunctionalStringTokenizer fromString(String s) { + return new FunctionalStringTokenizer(new StringTokenizer(s, " ")); + } } -- cgit v1.2.3