summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java
blob: 195ba4f9435ef807281981b18b7c48f83f0ff881 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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.spacing);

		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.spacing)
				state.appendContents(" ");
		}
	}
}