summaryrefslogtreecommitdiff
path: root/BJC-Utils2
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2')
-rw-r--r--BJC-Utils2/src/examples/java/bjc/utils/examples/DiabloItemGen.java12
-rw-r--r--BJC-Utils2/src/examples/java/bjc/utils/examples/RandomStringExamples.java8
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalStringTokenizer.java9
3 files changed, 20 insertions, 9 deletions
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<String> 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<FunctionalList<String>> 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, " "));
+ }
}