summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java')
-rw-r--r--src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java b/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java
new file mode 100644
index 0000000..594595e
--- /dev/null
+++ b/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java
@@ -0,0 +1,30 @@
+package bjc.rgens.parser.elements;
+
+import bjc.rgens.parser.GenerationState;
+
+public class SerialCaseElement extends CaseElement {
+ public final CaseElement rep;
+
+ public final int lower;
+ public final int upper;
+
+ public SerialCaseElement(CaseElement rep, int lower, int upper) {
+ super(rep.type);
+
+ this.rep = rep;
+
+ this.lower = lower;
+ this.upper = upper;
+ }
+
+ public void generate(GenerationState state) {
+ int num = state.rnd.nextInt(upper - lower) + lower;
+
+ for(int i = 0; i < num; i++) {
+ rep.generate(state);
+
+ if(rep.type.spacing)
+ state.contents.append(" ");
+ }
+ }
+}